软件测试之Docker常见问题汇总!附解决方法!

时间:2021-07-29 00:40:44

1、配置国内源进行docker安装,报错 HTTP Error 404 - Not Found

软件测试之Docker常见问题汇总!附解决方法!

原因: 由于配置国内镜像源时,把地址写错了,导致后面安装docker提示HTTP Error 404

解决方法:

1)进入到 /etc/yum.repos.d目录下

cd /etc/yum.repos.d
ll

软件测试之Docker常见问题汇总!附解决方法!

2)将所有docker相关的repo文件删除,包括刚添加的错误的阿里云镜像也删除

rm -rf docker-ce.repo
rm -rf mirrors.aliyun.com_docker-.repo

3)删除后,重新进行如下docker的安装

yum -y update
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io

 

2、安装docker报错Requires:container-selinux>=2:2.74

软件测试之Docker常见问题汇总!附解决方法!

解决方法: 安装最新的contain-selinux

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release -y
yum install container-selinux -y

3、云服务器上,docker拉取mysql镜像很慢,半个多小时依然未成功

软件测试之Docker常见问题汇总!附解决方法!

原因: docker默认源为官方源在国外,下载速度可能会慢。

解决方法: docker镜像源更改为国内源

阿里云服务器解决方法:

1.进入阿里云服务器控制台 https://account.aliyun.com/,搜索镜像,点击容器镜像服务进入

软件测试之Docker常见问题汇总!附解决方法!

2)进入镜像中心-镜像加速器,选择对应云服务器的操作系统,依据操作文档中的命令完成操作。

软件测试之Docker常见问题汇总!附解决方法!

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors":["https://4zh3lxhh.mirror.aliyuncs.com"] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3)配置完成后,再去进行镜像拉取,正常。


腾讯云服务器解决方法:

与阿里云服务器解决方法同理

1)打开/etc/docker/daemon.json 配置文件

vim /etc/docker/daemon.json

2)输入键盘i进入编辑,添加以下内容,并按Esc键退出编辑,输入:wq 保存退出

{ "registry-mirrors": ["https://mirror.ccs.tencentyun.com"] }

3)重启docker,再进行镜像拉取操作则正常。

sudo systemctl restart docker

可供选择的常用镜像有以下这些:

科大:https://docker.mirrors.ustc.edu.cn/

网易:https://hub-mirror.c.163.com/

七牛云加速器:https://reg-mirror.qiniu.com

阿里云:<你的ID>.mirror.aliyuncs.com

腾讯云:https://mirror.ccs.tencentyun.com


4、进入docker容器显示bash-4.2#

软件测试之Docker常见问题汇总!附解决方法!

原因: 在docker容器的当前登录用户root目录下缺少.bashrc 和.bash_profile 这2个文件

解决方法:

这2个文件在/etc/skel目录下,只需要将这2个文件复制到/root即可解决。

bash-4.2# cp /etc/skel/.bashrc /root/
bash-4.2# cp /etc/skel/.bash_profile /root/

 

5、进入docker容器,显示时区不对

软件测试之Docker常见问题汇总!附解决方法!

docker中默认时间是UTC时间,北京是CST东八区时间,相隔8小时。

解决方法:

1)进入容器,通过软链接命令ln -s,在/etc/localtime文件中写入的是想要设置的时区,例上海时区

docker exec -it [容器名或容器ID] /bin/bash // 以交互模式进入容器
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
exit

2)重启容器

docker restart [容器名或容器ID] // 重启容器

软件测试之Docker常见问题汇总!附解决方法!


6、云服务器上的mysql容器,使用navicat连接不上

软件测试之Docker常见问题汇总!附解决方法!

解决方法:

1、先确认对应mysql容器是否已启动

2、确认连接的主机ip、端口、用户名、密码的正确性

3、以上都确认了,连不上,确认云服务器端口是否开放

3.1 阿里云开放端口步骤:

  • 登录阿里云控制台--选中自己购买的云服务器--更多--网络和安全组--安全组配置

软件测试之Docker常见问题汇总!附解决方法!

  • 点击配置规则--入方向,复制一项,添加mysql容器对外映射的端口,例3307,点保存

软件测试之Docker常见问题汇总!附解决方法!

3.2 腾讯云开放端口步骤:

  • 登录腾讯云控制台--找到购买的服务器--防火墙--添加规则

软件测试之Docker常见问题汇总!附解决方法!

  • 创建新的规则,添加mysql容器对外映射的端口,点确定

软件测试之Docker常见问题汇总!附解决方法!