一:卸载旧版本
老版本的Docker被称为docker或docker-engine。如果安装了这些,请卸载它们以及相关的依赖项。
$ sudo yum remove docker docker-common docker-selinux docker-engine
如果yum报告说没有安装这些软件包,那么也行。
二:安装Docker CE
1. 更新系统
#yum update -y
2. 添加 docker 版本仓库
cat >/etc/yum.repos.d/docker.repo <<-'EOF'[dockerrepo]name=Docker Repositorybaseurl=https://yum.dockerproject.org/repo/main/centos/7enabled=1gpgcheck=1gpgkey=https://yum.dockerproject.org/gpg[docker-ce-stable]name=Docker CE Stable - $basearchbaseurl=https://download.docker.com/linux/centos/7/$basearch/stableenabled=1gpgcheck=1gpgkey=https://download.docker.com/linux/centos/gpgEOF
3. 安装 docker
docker 在 17 年 3 月份后,Docker 分成了企业版(EE)和社区版(CE),转向基于时间的 YY.MM 形式的版本控制方案,17.03 相当于 1.13.1 版本
#yum install docker-ce
安装旧版本 (1.12) 方法 yum install docker-engine
4. 设置 docker 开机自启动
#systemctl enable docker.service
5. 启动 Docker daemon
#systemctl start docker
6. 验证 docker 安装是否成功
#docker run --rm hello-world
--------------------------------------------------- 以下是程序输出Unable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-worldc04b14da8d14: Pull completeDigest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9Status: Downloaded newer image for hello-world:latestHello 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. 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 bashShare images, automate workflows, and more with a free Docker Hub account: https://hub.docker.comFor more examples and ideas, visit: https://docs.docker.com/engine/userguide/7. 创建 docker 组
将 host 下的普通用户添加到 docker 组中后,可以不使用 sudo 即可执行 docker 程序(只是减少了每次使用 sudo 时输入密码的过程罢了,其实 docker 本身还是以 sudo 的权限在运行的。)
sudo usermod -aG docker your_username
8. 其他配置
设置 ipv4 转发(centos 上需要配置),实践中发现 Ubuntu 和 Suse 上无需配置
查看
#sysctl net.ipv4.ip_forward
临时更改
#sysctl -w net.ipv4.ip_forward=1
永久更改
#echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf#sysctl -p#sysctl net.ipv4.ip_forward
三: 卸载 docker
方法1:
yum list installed | grep docker
sudo yum -y remove docker-engine.x86_64
rm -rf /var/lib/docker方法2
rpm方法卸载
rpm -e --nodeps `rpm -aq |grep docker`
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。



