运行WEB应用
拉取测试镜像
1 | [root@iZwz91w0kp029z0dmueicoZ /root]#docker pull training/webapp |
运行镜像
1 | [root@iZwz91w0kp029z0dmueicoZ /root]#docker run -d -P training/webapp python app.py |
- -d: 让容器在后台运行
- -P: 将容器内部使用的网络端口映射到我们使用的主机上
查看运行中的容器
1 | [root@iZwz91w0kp029z0dmueicoZ /root]#docker ps |
- PORTS 0.0.0.0:32768->5000/tcp,5000是容器监听的端口,映射到宿主机的32768端口。
这时候通过docker宿主机的ip:32768就可以直接访问了
运行镜像并修改监听端口
也可以通过-p参数设置不同的端口1
2[root@iZwz91w0kp029z0dmueicoZ /root]#docker run -d -p 5000:5000 training/webapp python app.py
1d7a7e33cdf674a0374e908613f1bd0ebe08a649d2b681e2afab6d25550ca6ba
再查看下1
2
3
4[root@iZwz91w0kp029z0dmueicoZ /root]#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1d7a7e33cdf6 training/webapp "python app.py" 5 seconds ago Up 4 seconds 0.0.0.0:5000->5000/tcp vigorous_murdock
76fd8c273818 training/webapp "python app.py" 31 minutes ago Up 31 minutes 0.0.0.0:32768->5000/tcp dreamy_burnell
这时候通过ip:5000也是可以访问的
观察容器状态
网络端口
这时候可以先查下网络端口映射1
2
3
4[root@iZwz91w0kp029z0dmueicoZ /root]#docker port 1d7a7e33cdf6
0.0.0.0:5000->5000/tcp
[root@iZwz91w0kp029z0dmueicoZ /root]#docker port 76fd8c273818
0.0.0.0:32768->5000/tcp
应用程序日志
1 | [root@iZwz91w0kp029z0dmueicoZ /root]#docker logs 006fdd129e49 |
也可以加参数-f追踪查看最新打印的日志。
查看容器进程
1 | [root@iZwz91w0kp029z0dmueicoZ /root]#docker top 006fdd129e49 |
停止容器
我们可以通过docker stop container_id来停止指定的容器。1
[root@iZwz91w0kp029z0dmueicoZ /root]#docker stop 1d7a7e33cdf6
这时再通过docker ps发现5000端口的webapp的容器已经没有了。