VMware里CentOS7安装docker

1、安装相关工具类

#安装
sudo yum install -y yum-utils device-mapper-persistent-data lvm2123
#提示错误:
Another app is currently holding the yum lock; waiting for it to exit...
#解决
ps -aux|grep yum查看相关进程并且kill,如果没有用的话,直接rm -f /var/run/yum.pid

2、设置阿里云镜像源

#设置阿里云镜像
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
#提示失败
Loaded plugins: fastestmirror, langpacks
adding repo from: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
Could not fetch/save url https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo: [Errno 14] curl#60 - "Peer's Certificate issuer is not recognized."

这是由于国内访问不到docker官方镜像的缘故,没事,到目前为止我还是耐心十足,我们继续探索,改为了http网址,再次设置:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装 Docker-CE

sudo yum install docker-ce

4、启动docker

#开机自启
sudo systemctl enable docker 
#启动docker服务  
sudo systemctl start docker

提示错误:

Job for docker.service failed because the control process exited with error code. 
See "systemctl status docker.service" and "journalctl -xe" for details.

这是由于daemon.json配置文件错误导致,在daemon.json添加如下内容:

vim /etc/docker/daemon.json
{
        "graph": "/mnt/docker-data",
        "storage-driver": "overlay",
        "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

再次重启docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

5、拉取镜像:

docker pull mysql:5.7
Error response from daemon: Get https://registry-1.docker.io/v2/library/mysql/manifests/5.6: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fmysql%3Apull&service=registry.docker.io: x509: certificate signed by unknown authority

拉取mysql镜像还是失败,我已经处于崩溃边缘,不过皇天不负有心人,经过一番搜索引擎的熟练骚操作,感谢党!终于找到以下解决办法:

第一步:通过dig @114.114.114.114 registry-1.docker.io找到可用IP
dig @114.114.114.114 registry-1.docker.io

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.2 <<>> @114.114.114.114 registry-1.docker.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63593
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;registry-1.docker.io.		IN	A

;; ANSWER SECTION:
registry-1.docker.io.	454	IN	A	34.195.36.112

;; Query time: 14 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Mon May 04 21:51:37 PDT 2020
;; MSG SIZE  rcvd: 65

第二步:尝试修改/etc/hosts强制docker.io相关的域名解析到其它可用IP
vim /etc/hosts
添加一个可用IP:
34.195.36.112 registry-1.docker.io

第三步:
再次拉取mysql镜像:docker pull mysql:5.7

成功了!!!接下来进入我们的showtime环节:

#运行mysql镜像
docker run --name dockerMysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql

#运行docker ps -a 查看是否运行成功
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                               NAMES
9451f0d504d9        mysql               "docker-entrypoint.s…"   7 minutes ago       Up 7 minutes                33060/tcp, 0.0.0.0:3307->3306/tcp   dockerMysql

#进入mysql容器
docker exec -it dockerMysql bash

#登录mysql
mysql -u root -proot

好了,以上就是在CentOS下安装docker的全部采坑,在VSCode中通过golang成功登陆mysql之后,总算舒缓了一点心中的郁闷之气。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值