容器使用
通过 docker 命令查看客户端的所有命令选项
docker
显示结果如下:
Options:
--config string Location of client config files (default "/home/ubuntu/.docker")
-D, --debug Enable debug mode
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level
("debug"|"info"|"warn"|"error"|"fatal") (default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default "/home/ubuntu/.docker/ca.pem")
--tlscert string Path to TLS certificate file (default "/home/ubuntu/.docker/cert.pem")
--tlskey string Path to TLS key file (default "/home/ubuntu/.docker/key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
运行第一个 web 应用
以在容器中运行一个++Python flask++应用为例:
docker pull training/webapp # 载入镜像 pull
docker run -d -P training/webapp python app.py
-d: 在容器后台运行
-P: 将容器内部使用的端口映射到主机上(大写P)
查看web应用容器
$ docker ps # 查看正在运行的容器
eee7738147d9 training/webapp "python app.py" 6 minutes ago Up 6 minutes 0.0.0.0:32768->5000/tcp admiring_easley
$ docker ps -a # 查看所有的容器
端口信息中:docker开放5000端口(python flask默认端口)映射到主机端口32769上
- 通过 -p 参数设置不一样的端口
docker run -d -p 5000:5000 training/webapp python app.py
- 通过docker port 直接查看网络端口
docker port eee7738147d9
- 查看应用程序日志logs
docker logs eee7738147d9
- 查看web应用程序进程top
docker top eee7738147d9
- 检查web应用程序
使用inspect来查看docker的底层信息,返回的是JSON文件,记录容器的配置文件和状态信息
docker inspect eee7738147d9
[
{
"Id": "eee7738147d9c1950a45663a65e520f598b3ce9f54fa60fd0dfc9f3d16d67598",
"Created": "2019-05-23T03:17:49.94255952Z",
"Path": "python",
"Args": [
"app.py"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 6406,
"ExitCode": 0,
"Error": "",
"StartedAt": "2019-05-23T03:17:50.583229491Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
......(省略部分)
}
]
- 停止/启动/移除容器
docker stop/start/rm eee7738147d9
注意:删除rm容器的时候,容器必须是停止stop的状态
- 查看最后一次创建的容器
docker ps -l