一、简介

本篇文章主要是,收集了一些在工作中,Docker 操作中遇到的一些错误,及解决方案。

二、Failed to start Docker Application Container Engine

1、error 现象

docker ports 为空 docker input output error_解决方案


2、 解决方案

daemon.json 配置有问题,docker 安装完成时 daemon.json 是空,启动 docker 会报这个问题。使用命令打开 daemon.json 文件,添加下面内容:

vi /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://slexdy64.mirror.aliyuncs.com"
  ]
}

docker ports 为空 docker input output error_容器_02


使用下面命令启动 docker ,然后查看 docker 版本,当看到版本时,说明启动成功

systemctl start docker.service
docker version

docker ports 为空 docker input output error_解决方案_03


docker ports 为空 docker input output error_容器_04


三、IPv4 forwarding is disabled. Networking will not work

1、error 现象

docker ports 为空 docker input output error_json_05


2、 解决方案

使用命令 vi /etc/sysctl.conf 打开 sysctl.conf 文件,然后添加下面代码

net.ipv4.ip_forward=1

docker ports 为空 docker input output error_解决方案_06


重启 network 服务,重启 docker

systemctl restart network && systemctl restart docker

可以使用下面命令查看是否修改成功 (返回1,就是成功)

sysctl net.ipv4.ip_forward

docker ports 为空 docker input output error_容器_07


四、“XXX“ is not a valid repository/tag: invalid reference format

这错误的原因是,因为 docker 版本太低

1、error 现象

如下 Dockerfile 在构建时发生了 is not a valid repository/tag: invalid reference format 的产错误

docker ports 为空 docker input output error_docker_08

docker ports 为空 docker input output error_容器_09


2、 解决方案

可以使用下面命令,查看 docke 版本,可以看到是 1.13.1 版本,确实是版本太低了

docker --version

docker ports 为空 docker input output error_容器_10


首先卸载当前安装的 Docker ,再更新一下引用,最后设置一下镜像

yum -y remove docker*
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

使用下面命令安装 docker,然后可以使用 docker -v 查看 docker 版本,可以看到这次安装的是 20.10.16 版本的,然后再次 build 镜像错误就消失啦

yum install docker-ce docker-ce-cli containerd.io -y

docker ports 为空 docker input output error_docker_11