参数--help:了解指定的 Docker 客户端命令使用方法
1、运行一个web应用
在docker容器中运行一个 Python Flask 应用来运行一个web应用
docker pull training/webapp
docker run -d -P training/webapp python app.py
参数说明:
-d:让容器在后台运行
-P:将容器内部使用的网络端口映射到我们使用的主机上
ps可见容器的端口0.0.0.0:32768->5000/tcp,Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。
浏览器访问WEB应用。注意:使用宿主机IP是无法访问的
问题和解决办法:https://www.cnblogs.com/hypnus-ly/p/8683215.html
docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker。也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows。因此,要访问WEB应用,需要找到该Linux环境的地址:
使用命令:docker-machine ip default
地址默认为:192.168.99.100
使用浏览器:192.168.99.100:32759,访问成功
2、定制web应用的访问端口
docker run -d -p 5000:5000 training/webapp python app.py
将端口定在5000,使用浏览器:192.168.99.100:5000,访问成功
3、网络端口的快捷方式
docker port(ID或者名字) 可以查看容器的某个确定端口映射到宿主机的端口号
4、查看WEB应用程序日志
docker logs [ID或者名字] 可以查看容器内部的标准输出
参数-f:长时间查看输出
docker logs -f focused_yonath
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.99.1 - - [10/Jul/2018 07:01:55] "GET / HTTP/1.1" 200 -
192.168.99.1 - - [10/Jul/2018 07:01:55] "GET /favicon.ico HTTP/1.1" 404 -
192.168.99.1 - - [10/Jul/2018 07:15:57] "GET / HTTP/1.1" 200 -
192.168.99.1 - - [10/Jul/2018 07:16:04] "GET / HTTP/1.1" 200 –
5、查看WEB应用程序容器的进程
docker inspect (ID或者名字)
6、停止WEB应用容器
docker stop (ID或者名字)
7、重启WEB应用容器
docker start (ID或者名字)
8、查询最后一次创建的容器
docker ps -l
9、移除WEB应用容器
docker rm (ID或者名字)
注意:删除容器时,容器必须是停止状态
10、删除停止的容器
显示停止的容器:docker ps -a
删除容器:docker kill 容器
删除所有已停止的容器:docker rm $(docker ps -a -q)