1 - 检查当前版本

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]#
[root@localhost ~]# cat /etc/system-release
CentOS Linux release 7.5.1804 (Core)
[root@localhost ~]#
[root@localhost ~]# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-102.git7f2769b.el7.centos.x86_64
Go version: go1.10.3
Git commit: 7f2769b/1.13.1
Built: Mon Aug 5 15:09:42 2019
OS/Arch: linux/amd64 Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-102.git7f2769b.el7.centos.x86_64
Go version: go1.10.3
Git commit: 7f2769b/1.13.1
Built: Mon Aug 5 15:09:42 2019
OS/Arch: linux/amd64
Experimental: false
[root@localhost ~]#

2 - 卸载旧版本

[root@localhost ~]# rpm -qa |grep -i docker
docker-1.13.1-102.git7f2769b.el7.centos.x86_64
docker-client-1.13.1-102.git7f2769b.el7.centos.x86_64
docker-common-1.13.1-102.git7f2769b.el7.centos.x86_64
[root@localhost ~]#
[root@localhost ~]# yum remove docker \
> docker-client \
> docker-client-latest \
> docker-common \
> docker-latest \
> docker-latest-logrotate \
> docker-logrotate \
> docker-engine
Loaded plugins: fastestmirror, langpacks
No Match for argument: docker-client-latest
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
Resolving Dependencies
--> Running transaction check
---> Package docker.x86_64 2:1.13.1-102.git7f2769b.el7.centos will be erased
---> Package docker-client.x86_64 2:1.13.1-102.git7f2769b.el7.centos will be erased
---> Package docker-common.x86_64 2:1.13.1-102.git7f2769b.el7.centos will be erased
--> Finished Dependency Resolution Dependencies Resolved =============================================================================================
Package Arch Version Repository Size
=============================================================================================
Removing:
docker x86_64 2:1.13.1-102.git7f2769b.el7.centos @extras 65 M
docker-client x86_64 2:1.13.1-102.git7f2769b.el7.centos @extras 13 M
docker-common x86_64 2:1.13.1-102.git7f2769b.el7.centos @extras 4.4 k Transaction Summary
=============================================================================================
Remove 3 Packages Installed size: 77 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : 2:docker-1.13.1-102.git7f2769b.el7.centos.x86_64 1/3
warning: /etc/sysconfig/docker-storage saved as /etc/sysconfig/docker-storage.rpmsave
warning: /etc/docker/daemon.json saved as /etc/docker/daemon.json.rpmsave
Erasing : 2:docker-client-1.13.1-102.git7f2769b.el7.centos.x86_64 2/3
Erasing : 2:docker-common-1.13.1-102.git7f2769b.el7.centos.x86_64 3/3
warning: /etc/sysconfig/docker saved as /etc/sysconfig/docker.rpmsave
Verifying : 2:docker-client-1.13.1-102.git7f2769b.el7.centos.x86_64 1/3
Verifying : 2:docker-1.13.1-102.git7f2769b.el7.centos.x86_64 2/3
Verifying : 2:docker-common-1.13.1-102.git7f2769b.el7.centos.x86_64 3/3 Removed:
docker.x86_64 2:1.13.1-102.git7f2769b.el7.centos
docker-client.x86_64 2:1.13.1-102.git7f2769b.el7.centos
docker-common.x86_64 2:1.13.1-102.git7f2769b.el7.centos Complete!
[root@localhost ~]#

3 - 设置仓库

3.1 安装必要的包

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.mirror.far.fi
* epel: epel.besthosting.ua
* extras: centos.mirror.far.fi
* updates: centos.mirror.far.fi
Package device-mapper-persistent-data-0.7.3-3.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package lvm2.x86_64 7:2.02.177-4.el7 will be updated
---> Package lvm2.x86_64 7:2.02.180-10.el7_6.8 will be an update
--> Processing Dependency: lvm2-libs = 7:2.02.180-10.el7_6.8 for package: 7:lvm2-2.02.180-10.el7_6.8.x86_64
---> Package yum-utils.noarch 0:1.1.31-45.el7 will be updated
---> Package yum-utils.noarch 0:1.1.31-50.el7 will be an update
--> Running transaction check
---> Package lvm2-libs.x86_64 7:2.02.177-4.el7 will be updated
---> Package lvm2-libs.x86_64 7:2.02.180-10.el7_6.8 will be an update
--> Processing Dependency: device-mapper-event = 7:1.02.149-10.el7_6.8 for package: 7:lvm2-libs-2.02.180-10.el7_6.8.x86_64
--> Running transaction check
---> Package device-mapper-event.x86_64 7:1.02.146-4.el7 will be updated
---> Package device-mapper-event.x86_64 7:1.02.149-10.el7_6.8 will be an update
--> Processing Dependency: device-mapper-event-libs = 7:1.02.149-10.el7_6.8 for package: 7:device-mapper-event-1.02.149-10.el7_6.8.x86_64
--> Processing Dependency: device-mapper = 7:1.02.149-10.el7_6.8 for package: 7:device-mapper-event-1.02.149-10.el7_6.8.x86_64
--> Running transaction check
---> Package device-mapper.x86_64 7:1.02.146-4.el7 will be updated
--> Processing Dependency: device-mapper = 7:1.02.146-4.el7 for package: 7:device-mapper-libs-1.02.146-4.el7.x86_64
---> Package device-mapper.x86_64 7:1.02.149-10.el7_6.8 will be an update
---> Package device-mapper-event-libs.x86_64 7:1.02.146-4.el7 will be updated
---> Package device-mapper-event-libs.x86_64 7:1.02.149-10.el7_6.8 will be an update
--> Running transaction check
---> Package device-mapper-libs.x86_64 7:1.02.146-4.el7 will be updated
---> Package device-mapper-libs.x86_64 7:1.02.149-10.el7_6.8 will be an update
--> Finished Dependency Resolution Dependencies Resolved =============================================================================================
Package Arch Version Repository Size
=============================================================================================
Updating:
lvm2 x86_64 7:2.02.180-10.el7_6.8 updates 1.3 M
yum-utils noarch 1.1.31-50.el7 base 121 k
Updating for dependencies:
device-mapper x86_64 7:1.02.149-10.el7_6.8 updates 293 k
device-mapper-event x86_64 7:1.02.149-10.el7_6.8 updates 189 k
device-mapper-event-libs x86_64 7:1.02.149-10.el7_6.8 updates 188 k
device-mapper-libs x86_64 7:1.02.149-10.el7_6.8 updates 321 k
lvm2-libs x86_64 7:2.02.180-10.el7_6.8 updates 1.1 M Transaction Summary
=============================================================================================
Upgrade 2 Packages (+5 Dependent packages) Total size: 3.5 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : 7:device-mapper-1.02.149-10.el7_6.8.x86_64 1/14
Updating : 7:device-mapper-libs-1.02.149-10.el7_6.8.x86_64 2/14
Updating : 7:device-mapper-event-libs-1.02.149-10.el7_6.8.x86_64 3/14
Updating : 7:device-mapper-event-1.02.149-10.el7_6.8.x86_64 4/14
Updating : 7:lvm2-libs-2.02.180-10.el7_6.8.x86_64 5/14
Updating : 7:lvm2-2.02.180-10.el7_6.8.x86_64 6/14
Updating : yum-utils-1.1.31-50.el7.noarch 7/14
Cleanup : yum-utils-1.1.31-45.el7.noarch 8/14
Cleanup : 7:lvm2-2.02.177-4.el7.x86_64 9/14
Cleanup : 7:lvm2-libs-2.02.177-4.el7.x86_64 10/14
Cleanup : 7:device-mapper-event-1.02.146-4.el7.x86_64 11/14
Cleanup : 7:device-mapper-event-libs-1.02.146-4.el7.x86_64 12/14
Cleanup : 7:device-mapper-1.02.146-4.el7.x86_64 13/14
Cleanup : 7:device-mapper-libs-1.02.146-4.el7.x86_64 14/14
Verifying : 7:device-mapper-event-1.02.149-10.el7_6.8.x86_64 1/14
Verifying : 7:device-mapper-libs-1.02.149-10.el7_6.8.x86_64 2/14
Verifying : yum-utils-1.1.31-50.el7.noarch 3/14
Verifying : 7:device-mapper-event-libs-1.02.149-10.el7_6.8.x86_64 4/14
Verifying : 7:lvm2-2.02.180-10.el7_6.8.x86_64 5/14
Verifying : 7:lvm2-libs-2.02.180-10.el7_6.8.x86_64 6/14
Verifying : 7:device-mapper-1.02.149-10.el7_6.8.x86_64 7/14
Verifying : 7:device-mapper-1.02.146-4.el7.x86_64 8/14
Verifying : 7:device-mapper-event-1.02.146-4.el7.x86_64 9/14
Verifying : yum-utils-1.1.31-45.el7.noarch 10/14
Verifying : 7:device-mapper-event-libs-1.02.146-4.el7.x86_64 11/14
Verifying : 7:lvm2-libs-2.02.177-4.el7.x86_64 12/14
Verifying : 7:lvm2-2.02.177-4.el7.x86_64 13/14
Verifying : 7:device-mapper-libs-1.02.146-4.el7.x86_64 14/14 Updated:
lvm2.x86_64 7:2.02.180-10.el7_6.8 yum-utils.noarch 0:1.1.31-50.el7 Dependency Updated:
device-mapper.x86_64 7:1.02.149-10.el7_6.8
device-mapper-event.x86_64 7:1.02.149-10.el7_6.8
device-mapper-event-libs.x86_64 7:1.02.149-10.el7_6.8
device-mapper-libs.x86_64 7:1.02.149-10.el7_6.8
lvm2-libs.x86_64 7:2.02.180-10.el7_6.8 Complete!
[root@localhost ~]#

3.2 设置稳定的仓库

[root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@localhost ~]#

4 - 安装与配置Docker Engine - Community

4.1 安装最新版本

[root@localhost ~]# yum install docker-ce docker-ce-cli containerd.io
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.mirror.far.fi
* epel: epel.besthosting.ua
* extras: centos.mirror.far.fi
* updates: centos.mirror.far.fi
docker-ce-stable | 3.5 kB 00:00:00
(1/2): docker-ce-stable/x86_64/updateinfo | 55 B 00:00:01
(2/2): docker-ce-stable/x86_64/primary_db | 32 kB 00:00:01
Resolving Dependencies
--> Running transaction check
---> Package containerd.io.x86_64 0:1.2.6-3.3.el7 will be installed
---> Package docker-ce.x86_64 3:19.03.1-3.el7 will be installed
---> Package docker-ce-cli.x86_64 1:19.03.1-3.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved =============================================================================================
Package Arch Version Repository Size
=============================================================================================
Installing:
containerd.io x86_64 1.2.6-3.3.el7 docker-ce-stable 26 M
docker-ce x86_64 3:19.03.1-3.el7 docker-ce-stable 24 M
docker-ce-cli x86_64 1:19.03.1-3.el7 docker-ce-stable 39 M Transaction Summary
=============================================================================================
Install 3 Packages Total download size: 90 M
Installed size: 368 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-19.03.1-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Public key for docker-ce-19.03.1-3.el7.x86_64.rpm is not installed
(1/3): docker-ce-19.03.1-3.el7.x86_64.rpm | 24 MB 00:00:34
(2/3): containerd.io-1.2.6-3.3.el7.x86_64.rpm | 26 MB 00:00:39
(3/3): docker-ce-cli-19.03.1-3.el7.x86_64.rpm | 39 MB 00:00:55
---------------------------------------------------------------------------------------------
Total 1.0 MB/s | 90 MB 00:01:29
Retrieving key from https://download.docker.com/linux/centos/gpg
Importing GPG key 0x621E9F35:
Userid : "Docker Release (CE rpm) <docker@docker.com>"
Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
From : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : containerd.io-1.2.6-3.3.el7.x86_64 1/3
Installing : 1:docker-ce-cli-19.03.1-3.el7.x86_64 2/3
Installing : 3:docker-ce-19.03.1-3.el7.x86_64 3/3
Verifying : 1:docker-ce-cli-19.03.1-3.el7.x86_64 1/3
Verifying : 3:docker-ce-19.03.1-3.el7.x86_64 2/3
Verifying : containerd.io-1.2.6-3.3.el7.x86_64 3/3 Installed:
containerd.io.x86_64 0:1.2.6-3.3.el7 docker-ce.x86_64 3:19.03.1-3.el7
docker-ce-cli.x86_64 1:19.03.1-3.el7 Complete!
[root@localhost ~]#

4.2 设置代理

根据网络实际状态来选择是否设置代理。

[root@localhost ~]# mkdir -p /etc/systemd/system/docker.service.d
[root@localhost ~]# vim /etc/systemd/system/docker.service.d/http-proxy.conf
[root@localhost ~]# cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://10.144.1.10:8080/"
Environment="HTTPS_PROXY=http://10.144.1.10:8080/"
[root@localhost ~]#

4.3 设置国内镜像

通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

[root@localhost ~]# sudo mkdir -p /etc/docker
[root@localhost ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
> {
> "registry-mirrors": ["https://t5t8q6wn.mirror.aliyuncs.com"]
> }
> EOF
{
"registry-mirrors": ["https://t5t8q6wn.mirror.aliyuncs.com"]
}

4.4 启动Docker

[root@localhost ~]# systemctl start docker
[root@localhost ~]#
[root@localhost ~]# docker version
Client: Docker Engine - Community
Version: 19.03.1
API version: 1.40
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:21:07 2019
OS/Arch: linux/amd64
Experimental: false Server: Docker Engine - Community
Engine:
Version: 19.03.1
API version: 1.40 (minimum version 1.12)
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:19:36 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
[root@localhost ~]#

4.4 验证是否安装成功

[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost ~]#
[root@localhost ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:6540fc08ee6e6b7b63468dc3317e3303aae178cb8a45ed3123180328bcc1d20f
Status: Downloaded newer image for hello-world:latest Hello from Docker!
This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal. To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/ For more examples and ideas, visit:
https://docs.docker.com/get-started/ [root@localhost ~]#
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest fce289e99eb9 7 months ago 1.84kB
[root@localhost ~]#
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
466a14bbfa5b hello-world "/hello" 11 seconds ago Exited (0) 10 seconds ago gallant_herschel
[root@localhost ~]#

5 - 问题处理

5.1 问题现象-1

[root@localhost ~]# yum-config-manager \
> --add-repo \
> https://download.docker.com/linux/centos/docker-ce.repo
File "/bin/yum-config-manager", line 135
except yum.Errors.RepoError, e:
^
SyntaxError: invalid syntax
[root@localhost ~]#

问题原因与处理方法:

  • 因前期将系统自带python2升级到Python3,导致/bin/yum-config-manager#!/usr/bin/python语句无法生效。
  • 修改为对应内容即可。
[root@localhost ~]# head -n 1 /bin/yum-config-manager
#!/usr/bin/python -tt
[root@localhost ~]#
[root@localhost ~]# python --version
Python 3.7.4
[root@localhost ~]# python2 --version
Python 2.7.5
[root@localhost ~]# ll /usr/bin/ |grep -i python
-rwxr-xr-x. 1 root root 11312 Apr 27 2018 abrt-action-analyze-python
lrwxrwxrwx 1 root root 29 Jul 29 10:14 pip -> /usr/local/python3.7/bin/pip3
-rwxr-xr-x. 1 root root 7280 Apr 13 2018 pmpython
lrwxrwxrwx 1 root root 32 Jul 29 10:14 python -> /usr/local/python3.7/bin/python3
lrwxrwxrwx. 1 root root 9 Nov 16 2018 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Apr 11 2018 python2.7
lrwxrwxrwx 1 root root 32 Jul 29 10:14 python3 -> /usr/local/python3.7/bin/pytho3
[root@localhost ~]#
[root@localhost ~]# vim /bin/yum-config-manager
[root@localhost ~]# head -n 1 /bin/yum-config-manager
#!/usr/bin/python2 -tt
[root@localhost ~]#

5.2 问题现象-2

[root@localhost ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.
[root@localhost ~]#

问题原因与处理方法:

[root@localhost ~]# mkdir -p /etc/systemd/system/docker.service.d
[root@localhost ~]# vim /etc/systemd/system/docker.service.d/http-proxy.conf
[root@localhost ~]# cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://10.144.1.10:8080/"
Environment="HTTPS_PROXY=http://10.144.1.10:8080/"
[root@localhost ~]#
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker

5.3 问题现象-3

[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 16.04 2a697363a870 3 months ago 119MB
ubuntu 18.04 7698f282e524 3 months ago 69.9MB
hello-world latest fce289e99eb9 7 months ago 1.84kB
[root@localhost ~]#
[root@localhost ~]# docker rmi -f 2a697363a870
Error: No such image: 2a697363a870
[root@localhost ~]#
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS

问题原因与处理方法:

[root@localhost ~]# systemctl stop docker
[root@localhost ~]# rm -rf /var/lib/docker
[root@localhost ~]# systemctl start docker
[root@localhost ~]#
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@localhost ~]#

6 - 参考信息

最新文章

  1. [连载]《C#通讯(串口和网络)框架的设计与实现》- 0.前言
  2. 远程办公《Remote》读书笔记:中国程序员在家上班月入过六万不是梦
  3. hdu 4946 Just a Joke(数学+物理)
  4. C# Bitmap Save Generic GDI+ Error
  5. SexyProgressBar
  6. Java学习小结(1)-数组的创建与传参
  7. MyBatis返回主键,MyBatis Insert操作返回主键
  8. 【转】编写Chrome扩展程序
  9. RMAN数据库恢复之控制文件和参数文件恢复
  10. testbench中将外部数据引入输出的方法(转载)
  11. 调用Live555接收RTSP直播流,转换为Http Live Streaming(iOS直播)协议
  12. MATLAB程序控制语句
  13. 专业的“python爬虫工程师”需要学习哪些知识?
  14. bzoj2252 矩阵距离
  15. 计算机基础-Ghost克隆
  16. PAT L3-021 神坛
  17. swift学习第一天---常量变量基础数据类型
  18. PAT 甲级 1001 A+B Format (20)(20 分)
  19. C/C++与Java的区别
  20. 关于gridview改变行内容事件需要点击别的行或控件才能执行

热门文章

  1. Joomla 3.4.6 远程代码执行 漏洞复现
  2. laravel-nestedset:多级无限分类正确姿势
  3. python 使用 tibco ems
  4. learning java java.time相关类
  5. C语言实现金字塔
  6. USACO10FEB]慢下来Slowing down dfs序 线段树
  7. SpringBoot获取Freemarker模板引擎,生成HTML代码
  8. C++标准库分析总结(九)——&lt;HashFunction、Tuple&gt;
  9. 独立成分分析 ICA 原理及公式推导 示例
  10. 数据结构Java版之广度优先图(十三)