我使用了CentOS 7操作系统,可以非常容易地安装Docker环境。假设,下面我们都是用root用户进行操作,执行如下命令进行准备工作:

yum install -y yum-utils
yum-config-manager \--add-repo \https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repoyum makecache fast

  上面首先安装了yum-utils,它提供了yum-config-manager管理工具,然后安装了最新稳定版本的Repository文件,最后更新yum的package索引。

  执行如下命令:

sudo yum -y install docker-engine

  首次安装docker-engine,输出类似如下日志信息:

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.btte.net* extras: mirrors.btte.net* updates: mirrors.btte.net
Resolving Dependencies
--> Running transaction check
---> Package docker-engine.x86_64 0:1.13.1-1.el7.centos will be installed
--> Processing Dependency: docker-engine-selinux >= 1.13.1-1.el7.centos for package: docker-engine-1.13.1-1.el7.centos.x86_64
--> Running transaction check
---> Package docker-engine-selinux.noarch 0:1.13.1-1.el7.centos will be installed
--> Finished Dependency ResolutionDependencies Resolved=================================================================================================================================================================================================================Package                                                  Arch                                      Version                                                 Repository                                      Size
=================================================================================================================================================================================================================
Installing:docker-engine                                            x86_64                                    1.13.1-1.el7.centos                                     docker-main                                     19 M
Installing for dependencies:docker-engine-selinux                                    noarch                                    1.13.1-1.el7.centos                                     docker-main                                     28 kTransaction Summary
=================================================================================================================================================================================================================
Install  1 Package (+1 Dependent package)Total download size: 19 M
Installed size: 65 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/docker-main/packages/docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 2c52609d: NOKEY             ] 1.2 MB/s | 944 kB  00:00:14 ETA
Public key for docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm is not installed
(1/2): docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm                                                                                                                               |  28 kB  00:00:01
(2/2): docker-engine-1.13.1-1.el7.centos.x86_64.rpm                                                                                                                                       |  19 MB  00:00:04
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                            4.5 MB/s |  19 MB  00:00:04
Retrieving key from https://yum.dockerproject.org/gpg
Importing GPG key 0x2C52609D:Userid     : "Docker Release Tool (releasedocker) <docker@docker.com>"Fingerprint: 5811 8e89 f3a9 1289 7c07 0adb f762 2157 2c52 609dFrom       : https://yum.dockerproject.org/gpg
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : docker-engine-selinux-1.13.1-1.el7.centos.noarch                                                                                                                                              1/2
libsemanage.semanage_direct_install_info: Overriding docker module at lower priority 100 with module at priority 400.
restorecon:  lstat(/var/lib/docker) failed:  No such file or directory
warning: %post(docker-engine-selinux-1.13.1-1.el7.centos.noarch) scriptlet failed, exit status 255
Non-fatal POSTIN scriptlet failure in rpm package docker-engine-selinux-1.13.1-1.el7.centos.noarchInstalling : docker-engine-1.13.1-1.el7.centos.x86_64                                                                                                                                                      2/2Verifying  : docker-engine-selinux-1.13.1-1.el7.centos.noarch                                                                                                                                              1/2Verifying  : docker-engine-1.13.1-1.el7.centos.x86_64                                                                                                                                                      2/2Installed:docker-engine.x86_64 0:1.13.1-1.el7.centos                                                                                                                                                                     Dependency Installed:docker-engine-selinux.noarch 0:1.13.1-1.el7.centos                                                                                                                                                             Complete!

  可见,Docker已经成功安装。

  下面,我们就可以启动Docker了,执行如下命令,启动Docker(Docker Engine):

systemctl start docker

  可以查看一下当前系统上的进程,执行ps -ef | grep docker确认Docker已经启动:

root       2717      1  8 21:52 ?        00:00:00 /usr/bin/dockerd
root       2723   2717  1 21:52 ?        00:00:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root       2920   2645  0 21:52 pts/0    00:00:00 grep --color=auto docker

  下面,我们验证一下,Docker启动了,应该就可以在一个Container中运行一个准备好的应用,执行如下命令:

docker run hello-world

  基于一个名称为hello-world的Image,启动Container并运行它,启动过程如下所示:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete
Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: 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 theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto 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 ID:https://cloud.docker.com/For more examples and ideas, visit:https://docs.docker.com/engine/userguide

  首先可以看到,因为本地没有下载过该Image,所以会先从Docker Hub上下载,对应的tag是latest。另外,也可以看到提示信息“Hello from Docker! ”,表示我们的环境配置没问题,可以启动Container运行应用程序。这里,还给出了运行我们这个名称为hello-world的示例Image在Container中运行过程中。

Docker的基本运行机制如下所示:

  1. Docker Client连接到Docker daemon
  2. Docker daemon从Docker Hub上下载名称为hello-world的Image
  3. Docker daemon基于这个Image创建了一个新的Container,并运行应用程序,输出“Hello from Docker!”
  4. Docker daemon将结果输出到Docker Client,也就是我们的终端上

现在,我们可能想知道hello-world这个Image是如何构建,才能够最终在我们的Docker Container中运行,请看下文。

转载于:https://www.cnblogs.com/wangsongbai/p/9116255.html

CentOS7下如何正确安装并启动Docker(图文详解)相关推荐

  1. 如何正确安装独立显卡?图文详解教会你安装独立显卡

    独立显卡主要是指成独立的办卡存在,需要将其插在抓板的相对应接口上的显卡.同时显卡作为电脑主机中非常重要的组成部分,安装步骤也就有所讲究,才能够很好的提供显示效果以及运行性能.那么要如何正确安装独立显卡 ...

  2. Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...

  3. Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...

  4. 数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)

    数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步骤2022) 文章目录 数据库学习笔记第一弹--MySQL8.0和MySQL5.7的下载.安装与配置(图文详解步 ...

  5. 只需五步学会Maven 3.6.1OR 3.6.3及其他版本的下载安装与配置【图文详解】

    第一步,下载并解压缩包 ​第二步,配置两个环境变量 ​第三步,测试是否安装成功 ​第四步,指定本地仓库的路径 第五步,修改镜像仓库 第一步,下载并解压缩包 Maven官方下载地址:https://ma ...

  6. 2019款苹果一体机/笔记本安装/恢复macOS Catalina图文详解

    2019款苹果一体机/笔记本安装/恢复macOS Catalina图文详解 1. 开机时按下Option键, 2. 然后按Command+ R键. 3. 选择语言,进入"磁盘工具" ...

  7. Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...

  8. Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 16.04.1 LTS ...

  9. 云服务器Linux(Centos7)安装 vsftpd 教程(图文详解)

    目录 此教程的安装环境是 centos7.8 一.安装vsftpd 二.配置说明 三.放行端口配置 四.测试方法 此教程的安装环境是 centos7.8 一.安装vsftpd 查看是否有安装过 ftp ...

  10. U盘安装CentOS 7.0图文详解教程

    背景: 阅读新闻 [日期:2014-10-14] 来源:Linux社区 作者:Linux [字体:大 中 小] 记录下U盘安装CentOS 7.0安装过程,供Linux新手参考.U盘安装Linux简单 ...

最新文章

  1. 李宏毅线性代数笔记9:特征值与特征向量
  2. C语言指针用得好犹如神助!这些使用技巧值得收藏
  3. linux update语句,关于Update语句的调整(5-1)
  4. 【HDU - 6203】ping ping ping(lca+贪心思想,对lca排序,树状数组差分)
  5. 基于JavaSwing+Mysql点餐系统设计和实现
  6. JMeter学习笔记--使用HTTP信息头管理器
  7. Modbus调试软件--ModbusPoll、ModbusSlave使用详解
  8. NumPy Beginner's Guide 2e 带注释源码 三、熟悉 NumPy 常用函数
  9. Microsoft VS又要级了
  10. python题目-判断素数
  11. 彻底解决win10出现的无法访问网络位置*:\XXXXX\XXXXX的问题
  12. windows/vs如何获取程序内存使用量和时间花费
  13. uva10827 - Maximum sum on a torus(最大子矩阵和变形)
  14. 电脑上的回收站无法清空
  15. 湖南中烟计算机类考什么,2022湖南中烟专业知识模拟题:计算机类(八)
  16. 弘辽科技:淘宝新链接要怎么补流量?有没有提升新链接的办法?
  17. php实现自动续费功能,如何关闭wps自动续费
  18. freetype 函数介绍
  19. 基于HarmonyOS分布式小游戏之你画我猜
  20. Synopsys Sentaurus TCAD系列教程之-- Svisual《一》看图工具

热门文章

  1. Illustrator 教程,如何在 Illustrator 中添加效果?
  2. Illustrator 教程,如何在 Illustrator 中描摹对象?
  3. alfred 4 (mac提升效率工具)
  4. EaseUS Data Recovery Wizard 如何在Mac上恢复已删除文件?
  5. 如何测试MacBook的电池
  6. HDU 2665 Kth number(主席树静态区间第K大)题解
  7. 不学无数——JAVA中NIO再深入
  8. Redis进阶实践之十三 Redis的Redis-trib.rb脚本文件使用详解
  9. Linux下java进程CPU占用率高分析方法
  10. JAVA 基于websocket实时通信的实现—GoEasy