解决Mac Docker x509证书的问题

问题

最近需要登录私有镜像中心,登录时出现错误提示:

Error response from daemon: Get https://***: x509: certificate signed by unknown authority

原因

私有镜像中心的证书不可信,需要添加私有镜像中心的认证证书。

解决方法

比如私有镜像中心的认证证书为ca.crt, 那么执行如下命令:

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ca.crt

重启Docker即可。

补充:一篇文章带你解决 docker 拉取镜像报错:x509: certificate has expired or is not yet valid

一、问题描述

docker 拉取镜像出现 X509 错误:

二、解决办法

当docker pull镜像时出现 x509 问题,一般应该是证书问题或者系统时间问题

先 date 看一下时间对不对,如果时间跟实际时间对不上一般就是系统时间问题.

(1)时间问题解决:日期错误

更新时间同步即可:ntpdate cn.pool.ntp.org

如果提示不存在 ntpdate 命令需要先安装该命令:yum install ntpdate

时间更新完毕,重新拉取即可:

(2)如果是证书的问题需要编辑 daemo.json 文件:vi /etc/docker/daemon.json

文件内添加:

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

然后重启下 docker 服务:docker restart

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • docker 免root权限登陆的解决方案

    初次使用docker命令的时候会报权限问题 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission den

  • docker容器里面的root权限获取方法

    首先你的container得正在运行 可通过sudo docker container ls或者sudo docker ps查看容器的CONTAINER ID 最后执行命令(其中7509371edd48 为上面查到的CONTAINER ID) sudo docker exec -ti -u root 7509371edd48 bash 补充:解决非root用户没有权限运行docker命令的问题 问题描述: "Got permission denied while trying to connec

  • docker 如何修改mysql的root密码

    第一步mysql容器 docker exec -it 容器ID /bin/bash 第二步连接mysql mysql -uroot -p 输入密码后,登录mysql终端 第三步修改密码 SET PASSWORD FOR 'root' = PASSWORD('设置的密码'); 第四步重启 重启mysql容器即可 docker restart 容器ID 补充:docker 启动mysql容器启动初始化默认密码问题 -e MYSQL_ROOT_PASSWORD docker run -p 3308:3

  • docker获取Let's Encrypt永久免费SSL证书的方法

    一.起因 官方的cerbot太烦了,不建议使用还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书 二.选型 cerbot的证书不会自动刷新日期,但是acme.sh自带这功能,每天凌晨0:00自动检测过期域名并且自动续期 选择docker运行cerbot,是为了让服务器里尽量少配置和无意义的程序,方便管理.例如Let's Encrypt需要的Python2.7,git,pip我们都不需要装在宿主机内,容器就自己配置好了 原文 ht

  • 使用docker更改容器内root密码的操作

    1.在制作dockerfile的时候使用如下命令设置ssh密码 RUN echo "root:root" | chpasswd 2.现在需要在容器生成后更改容器内root密码 使用 docker exec -it centos7.5 root:newpassword | chpasswd 命令执行成功,但是密码更新失败. 正确的方式如下: PASS='newpassword ' && echo -e "KaTeX parse error: Expected '

  • docker 如何添加证书

    1.升级处理:sudo apt-get update 缺包,包的版本旧等问题可以由此解决,如果不是的话那就是缺失认证,需要生成自己的认证证书. 2.生成自己的认证证书 先建一个文件夹 mkdir -p certs 之后创建证书,证书生成在刚才创建的文件夹中 openssl req -newkey rsa:4096 -nodes -sha256 -keyout /root/certs/domain.key -x509 -days 365 -out /root/certs/domain.crt 之后

  • 解决Mac Docker x509证书的问题

    问题 最近需要登录私有镜像中心,登录时出现错误提示: Error response from daemon: Get https://***: x509: certificate signed by unknown authority 原因 私有镜像中心的证书不可信,需要添加私有镜像中心的认证证书. 解决方法 比如私有镜像中心的认证证书为ca.crt, 那么执行如下命令: sudo security add-trusted-cert -d -r trustRoot -k /Library/Key

  • 解决Mac下 docker 无法 ping 通宿主机的问题

    解决方案 抛弃docker for mac自带的linux虚拟机(尽管轻量,但其与OSX通信采用socket文件的方式),使用docker-machine 安装virtualbox.virtualbox创建后,会添加一个虚拟网卡,可以通过ifconfig命令查看.我们实现的方式,就是利用这个虚拟网卡. 使用docker-machine创建默认linux虚拟机,命令docker-machine create 切换docker环境,使用eval $(docker-machine env)命令 查看创

  • 解决mac使用homebrew安装MySQL无法登陆问题

    如果你电脑是Mac的,使用homebrew安装MySQL是一个非常便捷的方式,但是还是会出现一些问题: 首先保证你已经安装了mysql,如果是通过homebrew安装的,输入mysql.server start 启动服务 如果在输入 mysql -u root 出现这个错误ERROR 1045 (28000): Access denied for user 'zhongchengming'@'localhost' (using password: YES),应该是修改初始密码没有成功 解决步骤

  • 完美解决mac环境使用sed修改文件出错的问题

    sed是linux命令,用于处理文件内容(修改,替换等),mac中都可以使用,但发现相同的替换命令在linux可以正常执行,在mac则执行失败. 出错原因 用shell写了个更新Config/Config.php版本的脚本,代码如下: #!/bin/bash file='Config/Config.php' old_version='1.1.0' new_version='1.1.1' #替换配置文件版本 sed -i "s/$old_version/$new_version/g" &

  • 解决Mac OS X 自带PHP环境gd库扩展缺少freetype的问题

    验证码真的出来喽! curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0 以上这篇解决Mac OS X 自带PHP环境gd库扩展缺少freetype的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: PHP GD库添加freetype拓展的方法

  • 一条命令解决mac版本python IDLE不能输入中文问题

    安装完Python通常自动就有了一个简易的集成环境IDLE,但在mac上,无法在IDLE中使用中文. 通常故障有两种情况: 1.在IDLE中,中文输入法根本无法工作,不会弹出输入框,所有的输入都被当做英文对待. 这种情况是由于IDLE使用了Tkinter 图形库,Tkinter使用的依赖库Tcl/Tk,在macOS中已经有了一个较低的内置版本,这造成了中文无法输入的问题,解决办法可以重新安装使用高版本Tcl/Tk编译的python,在Homebrew下只需要一条命令: brew reinstal

  • 解决Mac安装thrift因bison报错的问题

    安装thrift时,报错: Bison version 2.5 or higher must be installed on the system! 使用brew install bison 安装新版的bison $ brew list bison /usr/local/Cellar/bison/3.0.4/bin/bison /usr/local/Cellar/bison/3.0.4/bin/yacc /usr/local/Cellar/bison/3.0.4/lib/liby.a /usr/

  • 解决Mac node版本升级失败的问题

    打开终端输入以下命令 --> 回车 -->输入密码 -->回车 -->结束: sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*} 一句命令搞定! 以上这篇解决Mac node版本升级失败的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解决Mac下使用python的坑

    操作系统:macOS High Sierra 10.13.3 Python3.6 因为此版本自带python2.7,就下载并安装了anaconda2的版本,结果使用的时候系统自带的python和anaconda里的python冲突,也就是装包的时候只在一处装了,另一处却不能使用.因此要配置环境变量,替代到系统自带的版本. python2.7总会发生中文字体乱码的情况,果断放弃,准备使用anaconda3. 1.安装anaconda3 在官网下载,并安装,直接都是下一步. 2.修改环境变量 在命令

  • 解决Mac安装scrapy失败的问题

    今天打算弄个爬虫,想来想去打算用python弄一个.之前了解到scrapy这个库是个不错的选择,于是开始折腾.可惜第一步就挂了. 安装scrapy库就不成功: Installing collected packages: six, w3lib, parsel, pyasn1, pyasn1-modules, attrs, service-identity, scrapy Found existing installation: six 1.4.1 DEPRECATION: Uninstallin

随机推荐