docker registry v2 取消安全认证设置

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

你可能感兴趣的:(docker registry v2 取消安全认证设置)