menu

Docker容器使用

Docker容器使用

Docker客户端

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

$ docker
运行一个web应用

用docker构建一个web应用程序。

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

$ sudo docker pull training/webapp

载入镜像

$ sudo docker run -d -P training/webapp python app.py

运行web应用

参数说明:

  • -d:让容器在后台运行。
  • -P:将容器内部使用的网络端口映射到我们使用的主机上。
查看WEB应用容器

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

$ sudo docker ps

查看正在运行的容器

这里多了端口信息。

PORTS
0.0.0.0:32770->5000/tcp 

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

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

![访问WEB应用](/home/hxt/图片/Typora/访问WEB应用.png

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

$ sudo docker run -d -p 5000:5000 training/webapp python app.py

由于我原来设置过一个5000的端口号,所以这里设置不成功,可以换成别的。

设置不一样的端口

重设端口

查看正在运行的程序

查看正在运行的程序

网络端口的快捷方式

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

上面我们创建的web应用容器ID为1238b75bf839,名字为youthful_lovelace。

可以使用sudo docker port 1238b75bf839或 sudo docker port youthful_lovelace来查看容器端口的映射情况。

查看端口映射情况

查看WEB应用程序日志

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

$ sudo docker logs -f 1238b75bf839
  • -f:让docker logs 像使用tail -f一样来输出容器内部的标准输出。
  • 从上面,我们可以看到应用程序使用的是5000端口,并且能够查看到应用程序的访问日志。
查看WEB应用程序容器的进程

可以使用docker top 来查看容器内容运行的进程

查看程序容器的进程

检查WEB应用程序

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

$ sudo docker inspect youthful_lovelace
停止WEB应用容器
$ sudo docker stop youthful_lovelace
重启WEB应用容器

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

$ sudo docker start youthful_lovelace
$ sudo docker ps -l
查询最后一次创建的容器

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

移除WEB应用容器

我们可以使用sudo docker rm 命令来删除不需要的容器

$ sudo docker rm youthful_lovelace

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