docker基本命令

736 阅读2分钟
  1. 利用ubuntu镜像运行/bin/echo 输出"hello world"
docker run ubuntu /bin/echo "Hello world"
docker: Docker 的二进制执行文件

run: 与前面的 docker 组合来运行一个容器

ubuntu:指定要运行的镜像

/bin/echo "Hello world": 在启动的容器里执行的命令
  1. 运行交互式的容器
docker run -i -t ubuntu /bin/bash
  1. 退出容器
运行 exit 命令或者使用 CTRL+D 来退出容器
  1. 后台模式启动docker
docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
输出为一串长字符:2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63表示容器ID
  1. 列出所有正在运行的容器
docker ps
docker ps -a  # 查看所有容器
会显示正在运行容器的ID、容器使用的镜像、容器名称等
  1. 查看容器的输出(容器ID和容器名称都可以)
docker logs 2b1b7a428627
docker logs amazing_cori
  1. 停止容器
docker stop 2b1b7a428627
docker stop amazing_cori
  1. 启动一个已停止的容器
docker start 2b1b7a428627
docker start amazing_cori
docker restart <容器 ID>
  1. 进入一个在后台运行的容器docker attach & docker exec
docker attach 1e560fca3906 #进入之后如果用exit退出容器,容器会停止
docker exec -it 243c32535da7 /bin/bash  #exit退出后,容器仍在运行
  1. 导出容器
docker export 1e560fca3906 > ubuntu.tar #导出容器 1e560fca3906 快照到本地文件 ubuntu.tar
  1. 导入容器快照
cat docker/ubuntu.tar | docker import - test/ubuntu:v1 #将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
  1. 删除容器
docker rm -f 1e560fca3906
  1. 查看本地镜像
docker images
  1. 运行指定版本的镜像
docker run -t -i ubuntu:18.04 /bin/bash   #运行18.04的镜像,当不指定版本时,默认为latest
  1. 获取一个新的镜像
docker pull ubuntu:18.04
  1. 删除镜像
docker rmi hello-world
  1. 提交容器副本
docker commit -m="has update" -a="zyb" e218edb10161 zyb/ubuntu:v2
# -m="has update" 为提交的描述信息
# -a="zyb" 为镜像作者
# e218edb10161 为容器ID
# zyb/ubuntu:v2 为要创建的目标镜像名称
  1. 使用容器副本
docker run -t -i zyb/ubuntu:v2 /bin/bash