一、镜像命令

1.1、docker images

  1. 返回:REPOSITORY TAG IMAGE ID CREATED SIZE
  2. hello-word latest bakdsek1 4 monthods ago 13.3kb
  3. 解释:镜像仓库源 镜像标签 镜像ID 镜像创建时间 镜像大小
  4. 可选项:
  5. -a:列出所有本地的镜像源
  6. -q:只显示镜像的id

1.2、docker search

  1. docker search 镜像名
  2. 可选项:
  3. --filter=START=3000 # 搜索出来的镜像的START数据大于3000

1.3、docker pull

  1. docker pull 镜像名 ##拉取镜像,默认最新版本latest
  2. docker pull 镜像名:tag名称
  3. 如:docker pull mysql 等价于 docker pull docker.io/library/mysql:latest
  4. 如:docker pull mysql:5.7

1.4、docker rmi

  1. #删除镜像,可以通过镜像id或者镜像名称来删除
  2. docker rmi 镜像ID/镜像名称
  3. docker rmi -f (docker images -aq) # 删除所有的镜像,相当于 rm -rf,慎用

二、容器命令

有了镜像才能创建容器

2.1、docker run

  1. docker run [可选参数] image
  2. 参数说明:
  3. --name="Name" 容器名字,如tomcat1tomcat2,用来区分容器
  4. -d 后台运行
  5. -it 使用交互方式进行,进入容器查看内容
  6. -p 指定容器的端口,格式有:
  7. -p ip:主机端口:容器端口
  8. -p 主机端口:容器端口(常用)
  9. -p 容器端口
  10. -P 随机指定端口
  11. 例子:
  12. docker run -it centos /bin/bash ## 启动并进入容器,可以使用exit退出且关闭容器,ctrl+P+Q退出但不关闭容器

2.2、docker ps

  1. docker ps 命令 #列出当前正在运行的容器
  2. -a #列出当前正在运行的容器,并且历史运行过的容器也列出来
  3. -n=? # 列出最近使用过的?个容器
  4. -q #只显示容器的编号

2.3、退出容器

  1. exit:直接退出且关闭容器
  2. ctrl+P+Q:退出但不关闭容器

2.4、docker rm

  1. ##删除容器
  2. docker rm 容器id
  3. docker rm $(docker ps -aq) #删除所有的容器,不能删除正在运行的容器
  4. docker rm -f 容器id #强制删除正在运行的容器

2.3、启动和停止容器

  1. docker stop 容器id #停止当前正在运行容器
  2. docker start 容器id #启动容器
  3. docker restart 容器id #重启容器
  4. docker kill 容器id #强制停止正在运行的容器,在docker stop报错的情况下

三、常用其他命令

3.1、后台启动容器

  1. 执行:docker run -d centos后再通过docker ps命令查看该centos也停止了
  2. #是因为容器使用后台运行,必须要有一个前台进程,docker发现没有应用,就会自动停止
  3. #nginx容器启动后,发现自己没有提供服务,就会立即停止,就是没有程序
  4. #即没有对外提供服务的,会自动停止

3.2、查看日志命令

  1. # docker logs
  2. # docker logs -ft --tail 10 容器id #动态查看最后10条日志

3.3、查看容器的进程信息

  1. docker top 容器ID
  2. 会显示当前用户ID,进程ID,父进程ID

3.4、查看容器原始信息

  1. docker inspect 容器ID
  2. -f :指定返回值的模板文件。
  3. -s :显示总的文件大小。
  4. --type :为指定类型返回JSON

3.5、进入当前运行的容器

  1. #通常容器是使用后台方式运行的,需要进入容器,修改一些配置
  2. #命令格式1(进入容器并且开启一个新的终端):docker exec -it 容器ID /bin/bash
  3. #命令格式2(进入当前正在执行的代码,不会启动新的进程):docker attach 容器ID

3.6、容器文件拷贝

  1. docker cp :用于容器与主机之间的数据拷贝
  2. 格式:
  3. docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
  4. docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
  5. 对于已经停止运行了的容器也可以进行复制
  6. 例子:
  7. docker cp /www/runoob 96f7f14e99ab:/www/ #将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下
  8. docker cp /www/runoob 96f7f14e99ab:/www #将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www
  9. docker cp 96f7f14e99ab:/www /tmp/ #将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中

3.7、commit镜像

  1. # 提交容器成为一个新的副本镜像
  2. docker commit -m="提交的描述信息" -a="作者" 容器ID 目标镜像:[TAG]
  3. #如对于已经修改过的容器可以使用该方法提交,再次使用docker images 命令即可查看已经修改后的镜像
  4. #类似于虚拟机的快照功能

image.png