当前位置: 首页 > news >正文

2024年8月29日(harbor似有仓库管理,Docker-compose容器编排)

一、harbor私有仓库管理 

yum -y install epel-release
yum  -y install python2-pip
pip install --upgrade pip
pip list  pip 8x
pip install --upgrade pip
pip install --upgrade pip==20.3  -i https://mirrors.aliyun.com/pypi/simple
pip list
pip install docker-compose --ignore-installed requests  -i https://mirrors.aliyun.com/pypi/simplesource docker.sh

tar -zxvf harbor-offline-installer-v2.11.1.tgz 

[root@docker-1 ~]# ls
anaconda-ks.cfg  docker.sh  harbor  harbor-offline-installer-v2.11.1.tgz
[root@docker-1 ~]# cd harbor
[root@docker-1 harbor]# ls
common.sh  harbor.v2.11.1.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare

cp harbor.yml.tmpl harbor.yml修改harbor的配置文件(harbor.yml)但是解压后的目录中只有harbor.yml.tmpl,所以复制他,改名vim harbor.yml5 hostname: 192.168.1.51(本虚拟机的IP地址)13 #https:14   # https port for harbor, default is 44315  # port: 44316   # The path of cert and key files for nginx17   #certificate: /your/certificate/path18   #private_key: /your/private/key/path19   # enable strong ssl ciphers (default: false)20   # strong_ssl_ciphers: false
(https的所有内容全部注释)47 harbor_admin_password: Harbor12345(查看密码)

vim /etc/docker/daemon.json

{"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"],"hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"],"insecure-registries":["http://192.168.1.11"]}

vim /usr/lib/systemd/system/docker.service

 13 ExecStart=/usr/bin/dockerd 

systemctl daemon-reload
systemctl start docker

./prepare      

netstat -lnput|grep 5000

netstat -lnput|grep 80

systemctl stop firewalld

./install.sh

docker pull centos

docker tag centos:latest 192.168.1.51/centos:latest
docker push 192.168.1.51/centos:latest
docker ps --all     #查看状态是否健康

docker-compose start    #启动

docker login http://192.168.1.51

docker tag 192.168.1.51/centos:latest 192.168.1.51/library/centos:v0    #给镜像打标记
docker push 192.168.1.51/library/centos:v0    #推送镜像到达项目

总结:

1、由于要使用python环境运行docker-compose,所以需要验证python

python --version

2、安装pip(python的包管理工具)【需要使用pip下载安装docker-compose】

yum -y install python2-pip

3、pip版本太低

pip install --upgrade pip==20.3  -i https://mirrors.aliyun.com/pypi/simple

4、下载安装docker-compose

pip install docker-compose --ignore-installed requests  -i https://mirrors.aliyun.com/pypi/simple

5、上传harbor文件,解压

6、配置文件,本来有一个配置harbor.yml.tmpl

cp harbor.yml.tmpl harbor.yml

(修改harbor的配置文件(harbor.yml)但是解压后的目录中只有harbor.yml.tmpl,所以复制他,改名)

vim harbor.yml

  5 hostname: 192.168.1.51(本虚拟机的IP地址)13 #https:14   # https port for harbor, default is 44315  # port: 44316   # The path of cert and key files for nginx17   #certificate: /your/certificate/path18   #private_key: /your/private/key/path19   # enable strong ssl ciphers (default: false)20   # strong_ssl_ciphers: false(注释掉https安全网站的配置)47 harbor_admin_password: Harbor12345(查看密码)

7、 source docker,配置镜像,启动docker

8、./prepare 检察环境,下载镜像

9、./install.sh

10、docker ps --all

11、在远程主机访问80端口

12、登陆,查看项目

13、上传

(1)登录

docker login http://192.168.1.51
 (2)上传

#打标签docker tag 192.168.1.51/centos:latest 192.168.1.51/library/centos:v0 docker push 192.168.1.51/library/centos:v0

14、查看上传的内容

15、复制链接下载

16、制的下载链接,添加同时共享的镜像在其他docker主机上配置daemon仓库,启动docker,

二、Docker-compose容器编排

1、命令解析

version

指定了Docker compose编排文件的版本
Docker Compose 目前有三个版本,分别为 Version1、Version2和Version3
Version1 是较早的版本,它将来会被弃用。
Vemsion2 是目前的稳定版本,支持更多的指令。

Version3 在功能上与 Version2 类似,但进行了一些改进和扩展,例如增加了对 Docker BuildKit 的支持,可以加速构建过程。

service

指定了在 docker compose 编排中要运行的服务,每个服务都有一个名称,并指定要使用的镜像和容器的配置选项。

     services:
        mysql:#服务名
# 再往下可以对该服务进行定义,比如指定映射端口,指定使用的镜像等,但要注意缩进格式。 

 image

指定要使用的 docker 镜像。

services:
    mysql: # 服务名
        image:mysql:5.5
#指定mysql镜像,如果主机内不存在该镜像,会从登录的docker镜像仓库内拉取,一般都是从dockerhub上拉取 

build

允许在 docker compose 编排中指定 dockerfile 的位置。

services:
    mysql: # 服务名
        build: /docker/mysql
#这里为用户微服务文件夹里面存放的是该服务代码jar包和Dockerfile文件

environment

services:
mysql: # 服务名environment:
#下面是MySOL环境变量的例子MYSOL_ROOT_PASSWORD:000000
# 设置MySQL的root用户的密码MYSOL_DATABASE: database
#指定要创建的数据库名称MYSOL_USER: user
# 指定要创建的MySQL用户名MYSOL_PASSWORD:
# 指定要创建的MySQL用户的密码

 olumes

挂载宿主机路径或命名卷

(1)指定路径挂载

services: 
mysql: #服务名volumes :- ./mysql/data:/var/lib/mysq #直接指定路径挂载

 (2)⽣成 volume 卷挂载

docker volume create mysql # ⽣成名为mysql的volume卷vim docker-compose.ymlservices:mysql: # 服务名volumes:- mysql:/var/lib/mysq # 指定volume卷挂载

(3)共享⽬录挂载

vim docker-compose.ymlversion: '2' # 使⽤共享⽬录挂载只有‘2’版本⽀持
service:mysql: # 服务名volumes:
- /var/lib/mysql # 将这个⽬录作为共享⽬录nginx:volumes:
- /usr/local/nginx/htmlphp:volumes_from: # 共享⽬录来⾃- mysql # 挂载的共享⽬录,挂载后会在容器内⽣成与被挂载的⽬录同名的路径- nginx # 共享挂载可以是⼀个列表

port 

指定了要宿主机映射到容器的端⼝,端⼝不能低于 60(宿主机端 ⼝:容器端⼝),如果选择的端⼝号低于 60,可能会与系统保留的 知名端⼝冲突。
services:
 mysql: # 服务名
 ports:
- 3306:3306 # 宿主机端⼝:容器端⼝

expose

⽤于在 docker 容器内部暴露端⼝的选项。
services:
 mysql: # 服务名
 expose:
- 3306 

networks

加⼊⽹络,引⽤顶级 networks 条⽬ 

networks: # 与services同级
 dev: # ⾃定义或已存在的⽹络设备名
 driver: bridge # 设备类型:⽹桥
 external: true # 外部存在:是

hostname

设定容器主机名

services:
 mysql: # 服务名
 hostname: mysql

 command

指定容器启动时要运⾏的命令,覆盖构建时的默认命令
services:
 mysql: #服务名
 command: --character-set·server=utf8

[root@docker3 ~]# yum -y install epel-release
[root@docker3 ~]# yum -y install python2-pip

[root@docker3 ~]# pip install --upgrade pip==20.3  -i https://mirrors.aliyun.com/pypi/simple
[root@docker3 ~]#  pip install docker-compose  -i https://mirrors.aliyun.com/pypi/simple

[root@docker3 test]# mkdir html
[root@docker3 test]# echo "山不在高,有仙则灵" > ./html/index.html

[root@docker3 test]# vim docker-compose.yml

version: "3"
services:
  nginx:
    container_name: c1
    image: "nginx:latest"
    ports: 
    - "80:80"
    volumes:
    - /root/test/html/:/usr/share/nginx/html/

[root@docker3 test]# docker up -d


http://www.mrgr.cn/news/15213.html

相关文章:

  • 【Docker】docker的简介与部署方法
  • 2022 年高教社杯全国大学生数学建模竞赛-C 题 古代玻璃制品的成分分析与鉴别详解+分类模型Python代码源码
  • SpringBoot 的注解原理,及自定义注解
  • 【自己电脑打开不了产品发的AXURE,HTML需求原型直接简单解决方式】
  • 基于vue框架的残疾人就业帮扶平台97c5w(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • 大语言模型数据增强与模型蒸馏解决方案
  • GMS——利用 ChatGPT 和扩散模型进行制造业革命
  • CRUD的最佳实践,联动前后端,包含微信小程序,API,HTML等(二)
  • TensorFlow 的基本概念和使用场景。
  • AI学习记录 - 线性代数(3Blue1Brown)
  • 美国硅谷多ip服务器用途广吗?
  • nefu暑假acm集训1 构造矩阵 个人模板+例题汇总
  • 【精选】基于数据可视化的智慧社区内网平台(程序员阿龙出品精品)
  • cesium 发光线
  • (三)了解MySQL 【用户创建和权限/索引】
  • 天玑9200 V2双芯联动旗舰手机Vivo X90拆解
  • 你好GPT-4o,程序员如何通过GPT-4o提升自己的编码能力
  • wpf prism 《3》 弹窗 IOC
  • 安全帽佩戴监测摄像机
  • 2024最新版DataGrip安装教程-全网最新版教程