RHEL/CentOS 7.x使用systemd代替了service,要查看systemd来了解docker服务配置
systemctl status docker|grep Load, 发现是/usr/lib/systemd/system/docker.service
打开/usr/lib/systemd/system/docker.service,其中[Service]内容如下,
[Service]
Type=notify
ExecStart=/usr/bin/docker daemon -H fd://
...........
dockers registry V2 默认使用证书进行认证,如要关闭认证需在启动docker时加入参数 --insecure-registry your_registry_ip:port
2种加入docker启动参数方法:
1. docker官方推荐,新建docker.conf并添加内容
1.1新建目录/etc/systemd/system/docker.service.d
1.2 新建文件/etc/systemd/system/docker.service.d/docker.conf
1.3 docker.conf 添加如下内容
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --insecure-registry 172.16.11.19:5000
2.在环境变量文件里加上对应的变量,在docker服务启动脚本(此处为docker.service)里加载环境变量文件,看如下例子
2.1环境变量文件,在RHEL/CentOS下是/etc/sysconfig/docker,如没则新建一个,添加如下内容
INSECURE_REGISTRY=“--insecure-registry 172.16.11.19:5000”
INSECURE_REGISTRY为环境变量名,也可以是,变量内容为“--insecure-registry registry_server_name/ip:port”
在Ubuntu下 是/etc/default/docker,添加如下内容
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry registry_server_name/ip:port"
2.2修改docker服务启动脚本(此处为/usr/lib/systemd/system/docker.service),加入如下内容
加载环境文件,EnvironmentFile=-/etc/sysconfig/docker
增加加docker启动参数,ExecStart=/usr/bin/docker daemon -H fd:// $INSECURE_REGISTRY
注意:docker daemon 里的变量名 必须与 环境变量文件里变量名一致,如果环境变量文件里为OTHER_ARGS,
则以上为ExecStart=/usr/bin/docker daemon -H fd:// $OTHER_ARGS
以上内容改好后,重启docker
systemctl daemon-reload
systemctl restart docker
最后检查是否生效
ps aux | grep docker 查看docker daemon有没有带--insecure-registry 参数,如没则失败,需检查以上步骤,直至ps时能找到--insecure-registry
新版docker已更改设置方式,需要修改/etc/docker/daemon.json,而不是修改docker.service,否则报以下错误
Error response from daemon: Get https://172.16.1.22:1180/v1/users/: http: server gave HTTP response to HTTPS client
网友评论