一、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镜像,由于上星期回家考试,所以耽误了几天,在这里道歉。
领取专属 10元无门槛券
私享最新 技术干货