Docker Compose与私有仓库
docker-compose -v 查看版本信息
Docker Compose的应用
创建APACHE容器
vim docker-compose.yaml
yaml文件缩进严格;冒号后有内容需要加空格,冒号后无内容一般不加空格
冒号后的内容中若包含路径‘/’或‘:’时最好在内容外添加引号,单引号/双引号都可以
services:
webapp:
image: 'httpd:latest'
ports:
- "80:80"
- "443:443"
volumes:
- "/var/www/html:/usr/local/apache2/htdocs:rw"
运行docker-compose命令时需要在上面的yaml文件目录下
docker-compose up -d
docker-compose start/stop webapp //启动/关闭webapp
docker-compose kill webapp //强制关闭webapp
[root@localhost ~]# docker-compose port webapp 8080
no port 8080/tcp for container root-webapp-1: 443/tcp, 443/tcp, 80/tcp, 80/tcp //80和443出现两次的原因是分为ipv4和ipv6
为容器做副本需要取消端口映射,取消端口映射不会自动进行端口映射 因为为容器做副本一般是在集群环境中,不需要直接访问容器
为容器做副本
docker-compose scale webapp=3
创建nginx容器
services:
webnginx:
image: 'nginx'
ports:
- '80:80'
volumes:
- '/www/html:/www/html:rw'
- '/opt/nginx/nginx.conf:/etc/nginx/nginx.conf'
Harbor
安装Harbor
首先需要在官网下载离线安装包
harbor
harbor2
将安装包上传到节点后解压
[root@localhost ~]# tar -zxvf harbor-offline-installer-v2.4.3.tgz
解压后的目录文件如下:
[root@localhost ~]# cd harbor
[root@localhost harbor]# ls
common.sh harbor.v2.4.3.tar.gz harbor.yml.tmpl install.sh LICENSE prepare
配置harbor
将配置文件模板拷贝一份,并命名为harbor.yml,这是默认的配置文件名称:
[root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
编辑harbor.yml文件,按照如下说明修改几处配置项:
[root@localhost harbor]# vim harbor.yml
# 修改为当前所在节点的ip
hostname: 192.168.10.102
# 登录界面的密码
harbor_admin_password: pwd123
# 将https相关的配置给注释掉,这里为了简单只使用http,而且也可以在nginx那一层去做https
# https related config
#https:
# https port for harbor, default is 443
# port: 443
# The path of cert and key files for nginx
# certificate: /your/certificate/path
# private_key: /your/private/key/path
[root@localhost harbor]# ./install.sh
注意:
注释掉https相关的行
之后可以使用浏览器访问本机IP,即可登录harbor进行配置
使用其他节点访问本机Harbor时需要指定本地仓库,在/etc/docker/daemon.json中添加如下行
"insecure-registries": ["192.168.10.106"]
上传镜像到harbor
Harbor对上传镜像名称格式要求:项目服务器IP/项目/镜像名称:TAG
使用docker tag命令改名
需要事先上传nginx的配置文件到指定的路径
docker push 192.168.10.106/kubernetes/cirros:v1