1.镜像操作

1.1.查看当前镜像

  1. docker imaegs

1.2.搜索镜像

  1. docker search centos
  2. # 搜索镜像并过滤是官方的
  3. docker search --filter "is-official=true" centos
  4. # 搜索镜像并过滤大于多少颗星星的
  5. docker search --filter stars=10 centos

1.3.下载镜像

  1. # docker pull 镜像:TAG
  2. docker pull centos:7

1.4.本地镜像重命名

  1. # 相当于快捷访问,这两个镜像的ID是一样的
  2. docker tag centos:7 mycentos:1

1.5.删除本地镜像

  1. docker rmi centos:7
  2. # 你也可以使用ID删除:docker rmi IMAGE_ID

2.容器操作

2.1.创建并启动容器

  1. # 通过ID启动
  2. docker run -itd 67fa590cfc1c
  3. # 通过名称启动
  4. docker run -itd centos:7
  5. # docker run -itd centos
  6. # 等价于
  7. # docker run -itd centos:latest
  8. # 然后去下载
  9. # 启动后给容器重命名
  10. docker run -itd --name=mycentos centos:7
  11. docker run -itd -p 80:8080 -v /root/test/ROOT:/usr/local/tomcat/webapps/ROOT mycentos:jdk /bin/bash
  12. # 退出伪终端交互
  13. exit
  • -i :表示以交互模式运行容器(让容器的标准输入保持打开)
  • -d:表示后台运行容器,并返回容器ID
  • -t:为容器重新分配一个伪输入终端
  • --name:为容器指定名称
  • -p:映射端口。如果报错,宿主机防火墙需打开。宿主机:容器机。
  • -v:挂载路径
  • -e:设置环境变量。

2.2.查看容器

  1. # 所有容器(运行的&非运行的)
  2. docker ps -a
  3. # 查看本地正在运行的容器
  4. docker ps

2.3.启动容器

  1. docker start CONTAINER_ID / CONTAINER_NAME

2.4.停止容器

  1. docker stop CONTAINER_ID / CONTAINER_NAME
  2. docker kill CONTAINER_ID / CONTAINER_NAME
  3. # 一次性停止所有容器
  4. docker stop $(docker ps -a -q)
  5. # docker ps -a -q
  6. # 该命令是查看所有容器的ID

2.5.重启容器

  1. docker restart CONTAINER_ID / CONTAINER_NAME

2.6.删除容器

  1. # 只能删除停止的容器
  2. docker rm CONTAINER_ID / CONTAINER_NAME
  3. # 删除运行的容器,强制删除
  4. docker rmi -f CONTAINER_ID / CONTAINER_NAME

2.7.查看容器信息

  1. docker inspect CONTAINER_ID / CONTAINER_NAME

2.8.进入容器

  1. # 以/bin/bash解释起进入
  2. docker exec -it 0ad5d7b2c3a4 /bin/bash
  3. # 退出
  4. exit

3.文件操作

3.1.宿主机>>容器

  1. # docker cp 宿主机本地路径 容器名字/ID:容器路径
  2. docker cp /root/123.txt mycentos:/home/

3.2.容器>>宿主机

  1. # docker cp 容器名字/ID:容器路径 宿主机本地路径
  2. docker cp mycentos:/home/456.txt /root

3.3.容器挂载宿主机路径

无法挂载现有的容器,要在创建容器的时候就挂载起来。
相当于宿主机的快捷访问,两边的数据是同步的。

  1. # docker run -itd -v 宿主机路径:容器路径 镜像ID
  2. docker run -itd -v /root/xdclass/:/home centos:7