配置加速
在https://www.daocloud.io配置加速器
$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://xxx.m.daocloud.io
# 重启服务
$ systemctl daemon-reload
$ systemctl restart docker
# 查看一下运行的效果
$ ps -aux | grep docker
我在CoreOS7系统上使用,上面的命令会修改配置文件
# 查看service的配置文件的位置
$ systemctl status docker.service
# 编辑配置文件
$ vi /usr/lib/systemd/system/docker.service
启动私服
使用register作为私服,官方网址
# 下载镜像
$ sudo docker pull registry:2.4.1
# 启动镜像
$ sudo docker run -d -p 5000:5000 registry
# 使用本地数据
$ sudo docker run -d -p 5000:5000 --name dockerServer --restart=always -v /opt/registry-var/:/var/lib/registry/ registry:2.4.1
# 查看运行结果
$ docker ps
# 返回Json串表示正常启动了
$ curl http://192.168.31.101:5000/v2/_catalog
私服的地址:192.168.31.101:5000
上面的操作在进行push images的时候发生服务器500的错误!解决的方法如下
$ su -c "setenforce 0"
# 增加特权设置,完成私服搭建
$ docker run -d -p 5000:5000 --name dockerServer --restart=always -v /opt/registry-var/:/var/lib/registry/ --privileged=true registry:2.4.1
使用私服
在CentOS7系统下,有两个地方可以配置参数:/lib/systemd/system/docker.service;/etc/sysconfig/docker
需要修改配置文件,配置文件中增加下面的内容,并且重新启动docker服务
# 配置私服地址
OPTIONS='--selinux-enabled --log-driver=journald --insecure-registry 192.168.31.101:5000'
# 需要配置通过IP访问ducker api,在未来通过maven打包会用到
--tls=false -H unix://var/run/docker.sock -H tcp://192.168.31.101:2375
当服务器正常启动之后,可以通过如下命令查看一下2375端口是否正常
netstat -nap | grep 2375
# 如果能返回一大坨信息则正常
curl http://192.168.31.101:2375/info
具体的使用方法
# 下载镜像
$ docker pull busybox
# 查看镜像
$ docker images
# 修改镜像的tag
$ docker tag busybox 192.168.31.101:5000/busybox
# 提交镜像
$ docker push 192.168.31.101:5000/busybox
# 删除本地镜像
$ docker rmi 192.168.31.101:5000/busybox
# 重新拉取镜像
$ docker pull 192.168.31.101:5000/busybox
疑难杂症
发现一个错误:宿主机直接打开的端口在网络可以访问;通过Docker映射的端口无法访问(不是防火墙的问题)
发现有一个警告
WARNING: IPv4 forwarding is disabled. Networking will not work.
解决的办法如下:
$ vi /etc/sysctl.conf
# 增加:net.ipv4.ip_forward = 1
# 重启网络服务
$ systemctl restart network
# 查看修改结果
$ sysctl net.ipv4.ip_forward