Docker学习笔记 docker的基础

225 阅读3分钟

Docker学习笔记 docker的基础

docker命令速查表

镜像

  • 搜索镜像 docker search 镜像名

docker search 镜像名

  • -f/--filter=STARS=* 过滤STARS(收藏)不小于*的
  • 获取镜像 docker pull 镜像名:TAG(版本号)
  • 删除镜像 docker rmi 镜像名:TAG(版本号)
  • 查看镜像 docker images

docker images

  • -a 列出所有镜像
  • -q 仅列出所有镜像ID

容器

  • 创建并运行容器 docker run [参数] 镜像名:TAG(版本号)
  • 创建容器 docker create [参数] 镜像名:TAG(版本号)
  • 运行容器 docker start [参数] 容器名/容器ID
  • 重新启动容器 docker restart 容器名/容器ID
  • 停止运行容器 docker stop 容器名/容器ID
  • 杀死容器进程 docker kill 容器名/容器ID

docker run [参数] 镜像名:TAG(版本号) 参数

  • --name 容器名 给容器命名
  • -d 后台(守护进程)运行
  • -i 交互方式运行
  • -t 伪终端
  • -v 主机目录/文件:容器目录/文件 挂载目录/文件
  • -p(小写) 主机端口:容器端口|容器端口|主机:主机端口:容器端口 映射端口
  • -P(大写) 随机端口
  • 在使用 docker run -d 镜像 创建容器 会停止运行容器
  • 原因:docker 认为这个容器没有提供服务 所以会停止容器
  • 查看运行的容器 docker ps

docker ps

  • -a 列出运行的所有容器(包括停止运行的)
  • -q 仅列出运行的所有容器ID
  • -n=* 列出最近*个运行的容器
  • 删除容器 docker rm 容器名/容器ID
  • 进入容器: docker exec [参数] 容器名/容器ID 命令

将本机的标准输入(键盘)、标准输出(屏幕)、错误输出(屏幕)附加到一个运行的容器,也就是说本机的输入直接输到容器中,容器的输出会直接显示在本机的屏幕上,如果使用 exit 退出容器时会停止运行容器 使用 ctrl + p + q 退出容器时不会停止运行容器 docker attach 容器名/容器ID 针对已运行的容器实例进行操作,在已运行的容器中执行命令,不创建和启动新的容器,使用 exit 退出容器时也不会停止运行容器 推荐使用 exec 进入容器

  • 退出容器 CTRL + D/exit(退出目前的shell) | CTRL + P + Q(这里是指执行离开的命令吗,按下 CTRL + P + Q 后发生里什么?)

如果是以 docker attach 容器名/容器ID 进入容器,那么在使用 CTRL + D/exit 退出容器时会停止运行容器

其他

  • 使用 docker logs [参数] 容器名/容器ID 查看容器日志

docker logs 参数

  • -t 显示时间戳
  • -f 实时跟踪输出日志
  • -n * | --tail * 限制显示最近的 * 条日志
  • 使用 docker top 容器名/容器ID 查看容器内进程信息
  • 使用 docker inspect 容器名/容器ID 查看容器信息
  • 使用 docker cp 容器名/容器ID:路径/文件 主机路径/文件 把文件从容器内拷贝到主机
  • 使用 docker cp 主机路径/文件 容器名/容器ID:路径/文件 把文件从主机拷贝到容器内

拓展

删除所有

  • 容器 docker rm $(docker ps -aq)
  • 镜像 docker rmi $(docker images -aq)

强制删除

docker rm/rmi -f

  • -f 强制删除正在运行的容器/强制删除镜像

命令图

命令.png