如何在Docker容器中安装,运行和删除应用程序 - 第2部分

在本教程中将讨论如何将Docker容器保存为新映像,删除容器并在RHEL / CentOS 7/6中将Nginx Web服务器运行到容器中

继此前Docker文章,本教程将讨论如何保存Docker容器放入一个新的形象,取出容器并运行一个容器内的Nginx的网络服务器。

在Docker容器中安装和运行应用程序

在Docker容器中安装和运行应用程序 - 第2部分

要求

  1. 在CentOS和RHEL 7/6上安装Docker

如何运行和保存Docker容器

该示例 ,我们将运行并保存在那里的Nginx服务器将安装一个基于UbuntuDocker容器。 但承诺容器任何更改之前,先开始与下面的命令,它会安装Nginx的守护到Ubuntu的镜像容器:

# docker run ubuntu bash -c "apt-get -y install nginx" 
在Ubuntu Docker容器上安装Nginx

在Ubuntu Docker容器上安装Nginx

2.接下来,安装Nginx的包后,发出命令docker ps -l得到的运行容器的编号名称

# docker ps -l
查找Docker容器ID名称

查找Docker容器ID名称

并通过运行以下命令应用更改:

# docker commit 5976e4ae287c ubuntu-nginx

在这里, 5976e4ae287c代表容器IDubuntu-nginx表示已保存提交更改新形象的名字。

为了查看,如果新的形象已经成功创建只需运行docker images指挥所有保存图像的上市将被显示。

# docker images
Docker容器更改

Docker容器更改

有可能的是,容器内的安装过程快速结束,这导致不运行的容器(容器被停止)。 在这种情况下, docker ps ,因为没有容器运行命令将不会显示任何输出。

为了能仍然得到容器的id跑docker ps -a | head -3 docker ps -a | head -3到输出的最新的容器,并确定基于发出的创建容器和退出状态的命令的容器。

3.另外,还可以积极进入运行容器会话docker run -it ubuntu bash命令并执行进一步apt-get install nginx命令。 当命令运行时,使用从容器分离Ctrl-p + Ctrl-q键和容器将继续运行,即使Nginx的安装过程完成。

# docker run -it ubuntu bash
# apt-get install nginx
在Docker容器上安装Nginx

在Docker容器上安装Nginx

然后,获得与正在运行的容器ID docker ps和提交更改。 完成后,使用重新进入容器控制台docker attach和类型exit停止容器。

# docker ps
# docker attach 3378689f2069
# exit
附加Docker容器

附加Docker容器

4.为了进一步测试,如果最近的图像已被正确地提交(在此情况下已被安装的Nginx服务),以便产生将是否已成功安装输出Nginx的二进制的新容器执行以下命令:

# docker run ubuntu-nginx whereis nginx
生成新的Docker容器

生成新的Docker容器

5.要删除的容器使用rm命令对容器ID或名称,可以使用获得docker ps -a命令:

# docker ps -a
# sudo docker rm 36488523933a
删除Docker容器

删除Docker容器

如何在Docker容器中运行Nginx

6.在这一部分,我们将集中讨论如何可以运行并访问网络服务,如Nginx的网络服务器,里面Docker窗,使用ubuntu-nginx在已安装的Nginx守护前面创建的图像。

你需要做的第一件事是创建一个新的容器,映射主机容器端口并通过发出以下命令进入容器shell:

# docker run -it -p 81:80 ubuntu-nginx /bin/bash
# nginx &

在这里, -p选项暴露了主机端口的容器港口。 虽然主机端口可以是任意的,但条件是它应该可用(没有其他主机服务应监听它),容器端口必须正好是内部守护程序正在监听的端口。

一旦你连接到容器的会话,启动Nginx的后台程序在后台,按从容器分离控制台Ctrl-p + Ctrl-q键。

运行Nginx里面Docker容器

运行Nginx里面Docker容器

7.现在,运行docker ps让你的跑步容器的状态。 您还可以通过发出以下命令查看主机网络套接字:

# docker ps
OR
# netstat -tlpn 
查看Docker容器运行状态

查看Docker容器运行状态

8.为了参观由Nginx的容器服务的页面,在你的局域网的远程位置打开浏览器并使用HTTP协议输入您的机器的IP地址。

验证Nginx运行在Docker容器下

验证Nginx运行在Docker容器下

9.要停止容器中运行以下命令,然后用容器编号或名称:

# docker ps
# docker stop fervent_mccarthy
# docker ps
停止运行Docker容器

停止运行Docker容器

作为停止正在运行的容器的替代方法,请输入container shell命令提示符,并键入exit以完成进程:

# docker attach fervent_mccarthy
# exit

请注意,使用这种容器来运行Web服务器或其他类型的服务最适合仅用于开发目的或测试,因为服务仅在容器运行时处于活动状态。 退出容器会中断所有正在运行的服务或所做的任何更改。