docker 删除image_docker折腾记录

开始我按照http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html中的示例,试图基于node:8镜像创建一个自己的镜像,但在执行npm install的时候报错提示

npm ERR! network socket hang up

于是开始寻求解决方法,按https://segmentfault.com/q/1010000015910438/a-1020000015927660的思路试图在/etc/docker下的daemon.json中加入dns配置,但重启docker失败,日志信息如下:

912394165580464ea5a923b192b748f1.png

尝试多种方法后最后按照https://blog.csdn.net/learner198461/article/details/81198242里的方法在/etc/docker/daemon.json里面编辑{"storage-driver":"devicemapper"},发现docker可以启动成功但镜像及容器丢失。

于是重装docker,执行以下命令:

# 移除掉旧的版本
sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-selinux 
                  docker-engine-selinux 
                  docker-engine
                  
#  安装依赖包
sudo yum install -y yum-utils 
  device-mapper-persistent-data 
  lvm2
​
# 添加源,使用了阿里云镜像
sudo yum-config-manager 
    --add-repo 
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
​
# 配置缓存
sudo yum makecache fast
​
# 安装最新稳定版本的docker
sudo yum install -y docker-ce
​
# 配置阿里云镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://dcirqgzi.mirror.aliyuncs.com"]
}
EOF
​
# 加入"dns": ["223.5.5.5","223.6.6.6"]
vim /etc/docker/daemon.json
​
sudo systemctl daemon-reload
sudo systemctl restart docker

发现仍然启动失败,于是执行

sudo rm -rf /var/lib/docker

提示

rm: 无法删除"/var/lib/docker/overlay2": 设备或资源忙

执行

umount /var/lib/docker/overlay2
sudo rm -rf /var/lib/docker
sudo systemctl daemon-reload
sudo systemctl restart docker

启动docker成功

随后打算部署私有仓库,发现192.168.2.3服务器上已运行registry 镜像,遂在192.168.2.2上面编辑/etc/docker/daemon.json,加入"insecure-registries": [ "192.168.2.3:5000"],重启docker。

执行docker login 192.168.2.3:5000登录私有仓库,执行docker tag [image_name:tag] 192.168.2.3:5000/[image_name:tag]将需要推送到私有仓库的本地镜像打上tag,执行docker push 192.168.2.3:5000/[image_name:tag]将镜像推送到私有仓库,执行docker rmi -f [image_ID]删除本地镜像文件,执行docker pull 192.168.2.3:5000/[image_name:tag]将私有仓库上的镜像拉到本地,测试成功。

在192.168.2.3的/etc/docker目录下同样新建daemon.json文件,配置同192.168.2.2,重启docker,192.168.2.3也可以正常使用私有仓库。

此次配置后,私有仓库服务器位于192.168.2.3:5000,192.168.2.2登录私有仓库无需用户认证,192.168.2.3登录私有仓库需要输入用户名和密码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值