docker问题

1. 启动容器报错

docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 garland/zookeeper  
Error response from daemon: Cannot start container 565c06efde6cd4411e2596ef3d726817c58dd777bc5fd13762e0c34d86076b9e: iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3888 -j DNAT --to-destination 192.168.42.11:3888 ! -i docker0: iptables: No chain/target/match by that name  

解决办法:

错误原因是因为iptables缺少docker规则,如果iptables在docker之后安装,那么重装下docker就可以了

2. 启动registry报错退出

解决办法:

增加GUNICORN_OPTS参数

docker run --name myregistry -d -p 5000:5000 -v /data/docker/registry:/tmp/registry -e GUNICORN_OPTS=["--preload"] registry

3. centos7关闭ipv6

修改/etc/default/grub第六行

GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

运行命令

grub2-mkconfig -o /boot/grub2/grub.cfg 

重启机器

reboot

4. 私有registry不使用https

添加docker.service.d配置目录

mkdir -p /etc/systemd/system/docker.service.d

在docker.service.d目录下创建文件docker.conf

tee /etc/systemd/system/docker.service.d/docker.conf <<-'EOF'

[Service]
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EOF

添加/etc/sysconfig/docker

tee /etc/sysconfig/docker <<-'EOF'
INSECURE_REGISTRY='--insecure-registry dev00:5000 -g=/data/docker_data/docker'
EOF

修改启动文件 /usr/lib/systemd/system/docker.service

将默认的
ExecStart=/usr/bin/docker daemon -H fd://

改为
ExecStart=/usr/bin/docker daemon -H fd:// $INSECURE_REGISTRY

注意

INSECURE_REGISTRY 是/etc/sysconfig/docker文件中的变量。

更新配置,重启docker服务

systemctl daemon-reload 
systemctl restart  docker  
原文地址:https://www.cnblogs.com/osroot/p/5710495.html