你遇到的问题是Docker无法连接到官方镜像仓库(registry-1.docker.io),这通常由网络原因或镜像源配置问题引起。下面是详细的分析和解决方案:
国内访问Docker Hub较慢,建议使用阿里云、DaoCloud等提供的镜像加速服务。
1. 编辑Docker配置文件
bash
vi /etc/docker/daemon.json
2. 添加以下内容(以阿里云镜像加速器为例):
json
{
"registry-mirrors": [
"https://<你的阿里云加速器地址>.mirror.aliyuncs.com"
]
}
如何获取阿里云加速器地址?
- 登录阿里云容器镜像服务控制台。
- 在左侧菜单选择"镜像加速器",复制你的专属加速器地址。
3. 重启Docker服务
bash
sudo systemctl daemon-reload
sudo systemctl restart docker
4. 再次尝试拉取镜像
bash
docker pull mysql:5.7
5. 执行下面命令,启动
bash
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai mysql:5.7
代码解释:
● -d
:以后台的方式运行;
● --name mysql
:指定容器的名称为 mysql;
● -p 3306:3306
: 将容器的 3306 端口挂载到宿主机的 3306 端口上 (前面是宿主机的端口号,后面是容器的端口号);
● -e MYSQL_ROOT_PASSWORD=123456
:指定 root 用户的密码为 123456;
● -e TZ=Asia/Shanghai
: 指定容器内部时区为上海时区;
6. 查看是否启动成功
bash
docker ps