在这个3篇文章系列中,我们将讨论Docker,它是一个开源轻量级虚拟化工具,运行在操作系统级别之上,允许用户创建,运行和部署应用程序,封装在小容器中。
事实证明,这种类型的Linux容器快速,便携且安全。在Docker容器中运行的进程始终与主主机隔离,以防止外部篡改。
第1部分:在CentOS和RHEL 7/6中安装Docker并学习基本容器操作
第2部分:如何在CentOS / RHEL 7/6上将应用程序部署和运行到Docker容器中
第3部分:在CentOS / RHEL 7/6上使用Dockerfile自动构建和配置Docker镜像
第4部分:如何在Linux中监视Docker容器
本教程提供了如何在CentOS / RHEL 7/6上安装Docker,创建和运行Docker容器的起点,但是大麦划破了Docker的表面。
第1步:安装和配置Docker
- Docker二进制文件包含在RHEL / CentOS 7附加存储库中,安装过程非常简单。通过以root权限发出以下命令来安装Docker包:
在RHEL和CentOS 7上安装Docker
#yum install docker
在RHEL和CentOS 6上安装Docker
要安装Docker,必须通过发出以下命令在系统上启用Epel存储库:
#yum install epel-release
#yum install docker-io
2.安装Docker软件包之后,启动守护程序,检查其状态并使用以下命令在系统范围内启用它:
在RHEL / CentOS 7上
# systemctl start docker
# systemctl status docker
# systemctl enable docker
在RHEL / CentOS 6上
# service docker start
# service docker status
# chkconfig docker on
3.最后,通过发出以下命令,运行容器测试映像以验证Docker是否正常工作:
# docker run hello-world
如果您能看到以下消息,那么一切都在正确的位置。
"Hello from Docker. This message shows that your installation appears to be working correctly."
4.现在,您可以运行一些基本的Docker命令来获取有关Docker的一些信息:
有关Docker的系统范围信息
# docker info
对于Docker版本
# docker version
5.要获取所有可用Docker命令的列表,请在控制台上键入docker。
# docker
第2步:下载Docker镜像
6.要启动和运行Docker容器,首先必须从主机上的Docker Hub下载映像。Docker Hub提供了大量来自其存储库的免费图像。
例如,要搜索Docker镜像(例如Ubuntu),请发出以下命令:
# docker search ubuntu
7.根据需要确定要运行的映像后,通过运行以下命令在本地下载(在这种情况下,下载并使用Ubuntu映像):
# docker pull ubuntu
8.要列出主机上所有可用的Docker映像,请发出以下命令:
# docker images
9.如果您不再需要Docker镜像,并且想要从主机中删除它,请发出以下命令:
# docker rmi ubuntu
第3步:运行Docker容器
当您对图像执行命令时,您基本上获得了一个容器。在执行到容器的命令结束后,容器停止(您获得一个非运行或退出的容器)。如果再次在同一图像中运行另一个命令,则会创建一个新容器,依此类推。
创建的所有容器将保留在主机文件系统上,直到您选择使用该docker rm
命令删除它们。
10.为了创建和运行容器,您需要在下载的映像中运行命令,在本例中为Ubuntu,因此基本命令是使用cat命令在容器内显示分发版本文件,如下所示例:
# docker run ubuntu cat /etc/issue
以上命令分为以下几种:
# docker run [local image] [command to run into container]
11.要使用为创建它而执行的命令再次运行其中一个容器,首先必须通过发出以下命令获取容器ID(或Docker自动生成的名称),该命令显示运行和停止的列表(非运行)容器:
# docker ps -l
12.获取容器ID后,可以通过发出以下命令,使用用于创建容器ID的命令再次启动容器:
# docker start c629b7d70666
这里,字符串c629b7d70666
表示容器ID。
13.如果容器处于运行状态,您可以通过发出命令获取它的IDdocker ps
。docker stop
通过指定容器ID或自动生成的名称来停止正在运行的容器问题命令。
# docker stop dreamy_mccarthy
# docker ps
14.更优雅的替代方法,因此您不必记住容器ID,即使用–name命令行上的选项为您创建的每个容器分配唯一的名称,如下例所示:
# docker run --name myname ubuntu cat /etc/debian_version
15.然后,使用您为容器分配的名称,您可以通过寻址其名称来进一步操作容器(start,stop,remove,top,stats),如下面的示例所示:
# docker start myname
# docker stats myname
# docker top myname
请注意,如果用于创建容器的命令进程完成,则上述某些命令可能不显示输出。当容器内部运行的进程完成时,容器停止。
第4步:将交互式会话运行到容器中
16.为了以交互方式连接到容器shell会话,并像在任何其他Linux会话上一样运行命令,请发出以下命令:
# docker run -it ubuntu bash
以上命令分为以下几种:
- -i 用于启动交互式会话。
- -t分配一个tty并附加stdin和stdout。
- ubuntu 是我们用来创建容器的图像。
- bash(或/ bin / bash)是我们在Ubuntu容器中运行的命令。
17.要从正在运行的容器会话中退出并返回主机,必须键入exitcommand。的出口命令终止所有的容器进程并停止。
# exit
18.如果您以交互方式登录容器终端提示并且需要使容器保持运行状态但退出交互式会话,则可以退出控制台并按Ctrl+p和Ctrl+q键返回主机终端。
# docker attach <container id>
19.要重新连接到正在运行的容器,您需要容器ID或名称。发出docker ps命令以获取ID或名称,然后docker attach通过指定容器ID或名称来运行命令,如上图所示:
# docker kill <container id>
20.要从主机会话停止正在运行的容器,请发出以下命令:
这就是基本的容器操作。在下一个教程中,我们将讨论如何将Web服务器保存,删除和运行到Docker容器中。