跳转至

Docker部署配置

1 安装步骤

  1. 配置docker仓库
# 安装 yum-utils 包(提供yum-config-manager 实用程序)
$ yum install -y yum-utils
# 使用阿里的 docker 镜像仓库
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum软件包索引
$ yum makecache fast
  1. 安装DOCKER CE 引擎
yum -y install docker-ce docker-ce-cli containerd.io
  1. 使用阿里云镜像加速
    1. 注册账号:https://www.aliyun.com/
    2. 获得加速器地址连接:
      1. 登陆阿里云开发者平台
      2. 点击控制台
      3. 选择容器镜像服务
      4. 获取加速器地址:https://3jdregmb.mirror.aliyuncs.com
$ sudo mkdir -p /etc/docker 
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://3jdregmb.mirror.aliyuncs.com"]
}
EOF
$ systemctl daemon-reload
$ systemctl restart docker
  1. 启动docker
$ systemctl start docker

2 卸载

  • 命令如下
# 卸载命令
systemctl stop docker 
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

3 私有仓库docker-registry安装部署

  1. 拉取registry镜像:docker pull registry
  2. 启动registry容器:docker run -d -p 5000:5000 --restart=always --name registry registry
    1. registry容器需要访问5000端口,宿主机任意端口绑定容器内5000端口
    2. --restart=alway指定容器在exit后,能够重新启动
    3. 仓库默认会在/var/lib/registry下,通过-v /local-dir:/var/lib/registry来修改位置
  3. 现在默认仓库地址是127.0.0.1:5000

3.1 修改使用内网仓库地址

  1. 修改配置文件 vi /etc/docker/daemon.json
  2. 增加:"insecure-registries": ["内网ip:5000"]
  3. 重启docker服务:systemctl restart docker
  4. 现在同一网段内的其它机器都能通过内网ip:port/镜像名:tag来访问镜像

3.2 修改默认仓库地址

  1. 修改配置文件 vi /etc/docker/daemon.json
  2. 增加:ADD_REGISTRY='--add-registry 内网ip:5000'

4 推送镜像到仓库

  1. 给镜像打标签:docker tag 镜像id registry地址:端口/镜像名:标签
  2. 推送到仓库:docker push registry地址:端口/镜像名:标签 `
  3. 其它docker节点上拉取镜像:docker pull registry地址:端口/镜像名:标签
  4. 示例
$ docker tag 846e0e5335bb 10.30.12.17:5000/fio:3.7
$ docker push 10.30.12.17:5000/fio:3.7
The push refers to repository [10.30.12.17:5000/fio]
688ef2cc21ed: Pushed 
fb82b029bea0: Mounted from apache/zookeeper 
3.7: digest: sha256:9cef282efdf8c18e5057821dd085d84de2f9da4a24c008373794749e4fe76364 size: 741
# 在另一台docker节点上执行拉取镜像
$ docker pull heredata/fio:3.7

4.1 查看私有仓库镜像列表

  • 语法:
    • curl -XGET http://registry:5000/v2/_catalog
    • curl -XGET http://registry:5000/v2/image_name/tags/list
  • 示例:
[root@centos7 ~]# curl -XGET http://192.168.211.10:5000/v2/_catalog
{"repositories":["registry"]}
[root@centos7 ~]# curl -XGET http://192.168.211.10:5000/v2/registry/tags/list
{"name":"registry","tags":["test"]}

4.2 查看私有镜像标签

  • 语法:curl registrIp:port/v2/镜像名/tags/list
  • 示例
$ curl 127.0.0.1:5000/v2/apache/zookeeper/tags/list
{"name":"apache/zookeeper","tags":["v3.4.5","v3.4.14"]}

5 删除私有库镜像

  • 暂时没用更好的方法,直接删除registry容器