Docker 容器的使用

一、Docker 客户端

docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。

[root@localhost]#docker

可以通过命令docker command --help更深入的了解指定的 Docker 命令使用方法。

例如我们要查看docker stats指令的具体使用方法:

[root@localhost]#docker stats--help

二、运行一个 web 应用

前面我们运行的容器并没有一些什么特别的用处。

接下来让我们尝试使用 docker 构建一个 web 应用程序。

我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。

[root@localhost ~]#docker pull training/webapp

# 载入镜像

[root@localhost ~]#docker run-d-P training/webapp python app.py

在执行上述的运行web服务是可能出现 ipv4 异常,解决的具体方法详见下述网址

https://www.yaozhibo.top/topics/33/warning-ipv4-forwarding-is-disabled-networking-will-not-work

参数说明:

1. -d:让容器在后台运行。

2. -P:将容器内部使用的网络端口映射到我们使用的主机上。

三、查看 web 应用容器

使用 docker ps 来查看我们正在运行的容器

[root@localhost ~]# docker ps

这里多了端口信息。

PORTS0.0.0.0:32769->5000/tcp

Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。

这时我们可以通过浏览器访问WEB应用

我是在虚拟机上跑的,我虚拟机的内网静态ip是192.168.10.150

我们也可以通过 -p 参数来设置不一样的端口:

[root@localhost ~]# docker run-d-p5000:5000training/webapp python app.py

docker ps查看正在运行的容器 (注意看这里的 -p 是小写的)

容器内部的 5000 端口映射到我们本地主机的 5000 端口上。

四、网络端口的快捷方式

通过docker ps 命令可以查看到容器的端口映射,docker还提供了另一个快捷方式:docker port,使用 docker port 可以查看指定 (ID或者名字)容器的某个确定端口映射到宿主机的端口号。

上面我们创建的web应用容器ID为:7a38a1ad55c6 名字为:determined_swanson

我可以使用docker port 7a38a1ad55c6 或docker port determined_swanson来查看容器端口的映射情况

runoob@runoob:~$ docker portb664f0734a3d

5000/tcp->0.0.0.0:5000

runoob@runoob:~$ docker port wonderful_agnesi

5000/tcp->0.0.0.0:5000

五、查看 WEB 应用程序日记

docker logs [ID或者名字] 可以查看容器内部的标准输出。

[root@localhost ~]# docker logs-fb664f0734a3d*Runningon http://0.0.0.0:5000/ (Press CTRL+C to quit)

192.168.10.150--[09/May/201616:30:37]"GET / HTTP/1.1"200-

192.168.10.150--[09/May/201616:30:37]"GET /favicon.ico HTTP/1.1"404-

六、检查 WEB 应用程序

使用 docker inspect 来查看Docker的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

[root@localhost ~]# docker inspect wonderful_agnesi

[{"Id":"b664f0734a3dab4853e160a60b2be35b13d5659f5a13e0329d378863fc3a2c66","Created":"2018-06-06T06:34:03.120036292Z","Path":"python","Args":["app.py"],"State":{"Status":"running",......

七、停止WEB应用容器

[root@localhost ~]# docker stop determined_swanson determined_swanson

八、重启WEB应用容器

已经停止的容器,我们可以使用命令 docker start 来启动。

[root@localhost ~]# docker start wonderful_agnesiwonderful_agnesi

docker ps -l查询最后一次创建的容器:

正在运行的容器,我们可以使用docker restart命令来重启

九、移除WEB应用容器

我们可以使用 docker rm 命令来删除之前创建的不需要的容器

[root@localhost ~]# docker rm affectionate_golickaffectionate_golick

删除容器时,容器必须是停止状态,否则会报如下错误

[root@localhost ~]# docker rm affectionate_golick

Errorresponsefromdaemon:Youcannot remove a running container 0a48a1ad55c6914b360b565819604733db751d86afd2575236a70a2519527361.Stopthe container before attempting removaloruse-f

十、小结

以上内容就是docker创建web应用容器的全部内容,明天将告诉大家如何使用docker镜像,由于上星期回家考试,所以耽误了几天,在这里道歉。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180606G11KNB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券