Docker容器操作

1. 查看当前系统中容器列表

docker ps            列出正在运行的容器
docker ps -a         列出所有容器,包括已经停止的.

docker查看容器的gc docker查看容器的进程_docker查看容器的gc

2. 创建容器但不运行

docker create [images-name]

docker查看容器的gc docker查看容器的进程_tomcat_02


可以使用- -name参数为创建的容器命名 使用格式为:sudo docker create --name 容器名称 镜像名称

docker查看容器的gc docker查看容器的进程_笔记_03

3. 创建容器并运行

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

docker查看容器的gc docker查看容器的进程_tomcat_04

上面命令中使用了-i、-t两个参数。其中,-i是保证容器STDIN是开启状态;-t是告诉Docker为创建的容器分配一个伪TTY终端。这样我们就创建了一个能在命令行下与之交互的容器。 docker run命令的执行过程下:

  • 1.首先检查本地是否tomcat镜像
  • 2.如果没有,连接Docker Hub Registry查看是否有名为tomcat:latest镜像的镜像
  • 3.找到镜像,将镜像下载到本地
  • 4.Docker在文件系统内部使用这个镜像创建一个新容器,这个容器会有自已的网络、IP地址以及一个与本地宿主机通讯的桥接网络接口
  • 5.容器创建完成后,执行所要执行的命令,这里是/bin/bash

4. 启动已创建的容器

docker start
docker restart

docker查看容器的gc docker查看容器的进程_tomcat_05

5.查看容器内部日志

docker logs

docker查看容器的gc docker查看容器的进程_Docker_06


可以看到已经打印出来之前在mytomcat容器内执行的所有命令。

  • -f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。

6.查看容器的内部运行进程

docker top

可以使用该命令查看容器内运行的进程

docker查看容器的gc docker查看容器的进程_Docker_07

7.容器内运行进程

docker exec [options] contaiiner command
  • 注:在执行docker exec之前,该容器必须处于运行状态。

-t, -i 参数参数差异效果,如下:

可以看出只用-i时,由于没有分配伪终端,结果看起来很混乱。但是执行结果、命令返回值都可以正确获取。 下面我们加上-t参数再试试

docker查看容器的gc docker查看容器的进程_笔记_08

8. 查看容器状态

docker stats

docker查看容器的gc docker查看容器的进程_docker查看容器的gc_09

  • 注:docker stats与docker top统计内容有所不同,统计内容包括:CPU、内存、网络I/O、存储I/O使用情况等。统计形式也有所不同,docker stats是实时统计。 docker stats可以同时统计多个容器的使用情况,指定多个需要统计的容器ID或名称即可,也可以通过-a参数对所有容器进行统计

9.查看容器详细信息

docker inspect

docker查看容器的gc docker查看容器的进程_docker查看容器的gc_10


docker查看容器的gc docker查看容器的进程_Docker_11


docker查看容器的gc docker查看容器的进程_tomcat_12


省略部分…

docker查看容器的gc docker查看容器的进程_docker查看容器的gc_13

  • docker inspect命令有一个很有用的参数-f或–format,这个参数支持完整的GO语言模板,可以对输出结果进行格式化、筛选等。 例如可以使用如下命令查看mytomcat的ip地址:

10.停止容器

docker stop 
docker kill

docker查看容器的gc docker查看容器的进程_tomcat_14

10.删除容器

docker rm

docker查看容器的gc docker查看容器的进程_tomcat_15