CentOs7 安装社区版 docker-ce

本贴最后更新于 2073 天前,其中的信息可能已经时移俗易

1. 查看是否已存在 docker

docker version

2. 如果存在,删除旧版本 docker

yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine

3. 检查内核版本,返回的值大于 3.10 即可

uname -r

4. 安装所需的软件包

yum-utils 提供的 yum-config-manager
device-mapper-persistent-datalvm2

yum install -y yum-utils device-mapper-persistent-data lvm2

5. yum-config-manager 添加镜像源

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

6. 可以启用 edge 和测试存储库,默认是关闭

# 开启 yum-config-manager --enable docker-ce-edge yum-config-manager --enable docker-ce-test # 关闭 yum-config-manager --disable docker-ce-edge yum-config-manager --disable docker-ce-test

7. 安装 docker-ce

yum install docker-ce

8. 启动 docker

systemctl start docker # centos7.x service docker start # centos6.x

9. 查看 docker 状态

systemctl status docker

10. 测试运行 docker

docker run hello-world

11. 重新启动 docker

systemctl restart docker # centos7.x service docker restart # centos6.x

12. 关闭 docker

systemctl stop docker # centos7.x service docker stop # centos6.x

13. 设置 docker 开机启动

systemctl enable docker

14. 查看版本号

docker version

15. 查看是否运行

ps -ef|grep docker

16. 其他命令

# 查看容器日志 docker logs 容器名称/id # 设置容器自动重启,默认是 no docker update --restart=always 容器名称/id # 查看是否在运行 docker ps # 查看所有容器包括停止运行的 docker ps -a # 停止容器 docker stop 容器名称/id # 删除容器 docker rm 容器名称/id # 查看所有镜像 docker images # 查询镜像库 docker search mysql (项目名称) # 拉取镜像 docker pull mysql:5.7 (项目名,可加版本号,用 : 隔开) # 重启容器 docker restart 容器名称/id # 删除镜像 docker rmi 镜像id

17. docker 的默认安装路径

  • docker 的默认安装路径在 /var/lib/docker
[root@bogon ~]# cd /var/lib/docker [root@bogon docker]# ll 总用量 4 drwx------. 2 root root 24 8月 8 14:58 builder drwx------. 4 root root 92 8月 8 14:58 buildkit drwx------. 4 root root 150 8月 14 11:40 containers drwx------. 3 root root 22 8月 8 14:58 image drwxr-x---. 3 root root 19 8月 8 14:58 network drwx------. 27 root root 4096 8月 14 11:40 overlay2 drwx------. 4 root root 32 8月 8 14:58 plugins drwx------. 2 root root 6 8月 14 11:24 runtimes drwx------. 2 root root 6 8月 8 14:58 swarm drwx------. 2 root root 6 8月 14 11:24 tmp drwx------. 2 root root 6 8月 8 14:58 trust drwx------. 3 root root 97 8月 8 18:51 volumes [root@bogon docker]#
  • docker 支持多种 graphDriver, 如: vfsdevicemapperoverlayoverlay2aufs 等, 我的使用的存储驱动是 overlay2

使用不同的存储驱动, 会在 /var/lib/docker 目录下以驱动名称命名生成存储文件夹

drwx------. 27 root root 4096 8月 14 11:40 overlay2
  • 镜像的位置在 /var/lib/docker/image 下所使用驱动名称命名的文件夹中, 我的存储驱动是 overlay2, 所以目录是 /var/lib/docker/image/overlay2
root@bogon docker]# cd /var/lib/docker/image [root@bogon image]# ll 总用量 0 drwx------. 5 root root 81 8月 8 18:50 overlay2 [root@bogon image]# cd overlay2/ [root@bogon overlay2]# ll 总用量 4 drwx------. 4 root root 58 8月 8 15:04 distribution drwx------. 4 root root 37 8月 8 14:58 imagedb drwx------. 5 root root 45 8月 8 18:08 layerdb -rw-------. 1 root root 789 8月 8 18:50 repositories.json [root@bogon overlay2]#
  • 查看 repositories.json 文件
cat /var/lib/docker/image/overlay2
[root@bogon ~]# cat /var/lib/docker/image/overlay2/repositories.json {"Repositories":{"b3log/solo":{"b3log/solo:latest":"sha256:3ad1297684d5fb4019421e747c8214ec339666846cdd1b41cb3c7ad32eb1da94","b3log/solo@sha256:4cf76d515a6fdb8352cab57102620b1f3f3a56a9f83e48ea46557a3e4dfe355d":"sha256:3ad1297684d5fb4019421e747c8214ec339666846cdd1b41cb3c7ad32eb1da94"},"mysql":{"mysql:5.7":"sha256:f6509bac49801f48628167728aba66d64533aaa7d384e03b75a8fe4e6c0f6599","mysql@sha256:540488d8f0e04c1077d17934d1c1511fe417e2221dff508ce4621f5efe6131db":"sha256:f6509bac49801f48628167728aba66d64533aaa7d384e03b75a8fe4e6c0f6599"},"nginx":{"nginx:latest":"sha256:e445ab08b2be8b178655b714f89e5db9504f67defd5c7408a00bade679a50d44","nginx@sha256:eb3320e2f9ca409b7c0aa71aea3cf7ce7d018f03a372564dbdb023646958770b":"sha256:e445ab08b2be8b178655b714f89e5db9504f67defd5c7408a00bade679a50d44"}}}
  • 这是一个 json 文件, 我们来格式化
cat /var/lib/docker/image/overlay2/repositories.json | python -m json.tool
[root@bogon ~]# cat /var/lib/docker/image/overlay2/repositories.json | python -m json.tool { "Repositories": { "b3log/solo": { "b3log/solo:latest": "sha256:3ad1297684d5fb4019421e747c8214ec339666846cdd1b41cb3c7ad32eb1da94", "b3log/solo@sha256:4cf76d515a6fdb8352cab57102620b1f3f3a56a9f83e48ea46557a3e4dfe355d": "sha256:3ad1297684d5fb4019421e747c8214ec339666846cdd1b41cb3c7ad32eb1da94" }, "mysql": { "mysql:5.7": "sha256:f6509bac49801f48628167728aba66d64533aaa7d384e03b75a8fe4e6c0f6599", "mysql@sha256:540488d8f0e04c1077d17934d1c1511fe417e2221dff508ce4621f5efe6131db": "sha256:f6509bac49801f48628167728aba66d64533aaa7d384e03b75a8fe4e6c0f6599" }, "nginx": { "nginx:latest": "sha256:e445ab08b2be8b178655b714f89e5db9504f67defd5c7408a00bade679a50d44", "nginx@sha256:eb3320e2f9ca409b7c0aa71aea3cf7ce7d018f03a372564dbdb023646958770b": "sha256:e445ab08b2be8b178655b714f89e5db9504f67defd5c7408a00bade679a50d44" } } }
  • 我们发现这里面跟我们使用 docker images 打印出来的容器信息一致
[root@bogon overlay2]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE b3log/solo latest 3ad1297684d5 6 days ago 150MB nginx latest e445ab08b2be 3 weeks ago 126MB mysql 5.7 f6509bac4980 3 weeks ago 373MB [root@bogon overlay2]#

docker images 打印出来的 IMAGE ID 是完整 ID 的缩写

  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    494 引用 • 928 回帖
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    952 引用 • 944 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...