docker常用命令,学习笔记

1. 常用命令

创建有端口的容器

docker run --runtime=nvidia --user 0 --name=yzn -d -e VNC_RESOLUTION=1920x1080 -p 6905:5901 -v /home/BackUp/docker-file/common:/media/common -v /home/BackUp/docker-file/yzn:/media/yzn siat123/yzn_pycharm:latest

学习链接

  1. 官网链接 https://docs.docker.com
  2. 教程链接 https://www.runoob.com/docker/docker-start-stop-restart-command.html

docker

docker --help # 帮助
docker version # 版本
docker info # 详细信息

save one or more images to a tar archive (streamed to STDOUT by default)

docker save yzn-base > yzn-base.tar # 将镜像保存成压缩文件

load Load an image from a tar archive or STDIN

docker load < busybox.tar.gz # .tar.gz
docker load --input fedora.tar # .tar

docker start/stop/restart 启动/停止 容器

docker start IDa40c0e2ff492 # 启动一个或多个已经被停止的容器
docker stop IDa40c0e2ff492 # 停止一个运行中的容器
docker restart IDa40c0e2ff492 # 重启容器

docker images 查看镜像

docker images # 查看本地镜像
docker images -a # 查看所(含中间镜像层)
docker images -q # 只看ID
docker images -qa # 所有ID
docker images --help # 帮助

docker history

docker history ID # 查看镜像ID的更新历史

docker rm、rmi 删除 容器/镜像

docker rm # 删除 容器
docker rmi # 删除 镜像
docker rmi -f hello-world:latest # 强制 删除 镜像

docker commit 提交容器,以生成镜像

命令
docker commit [image name] # 生成镜像

具体的使用方法
docker commit -m "This is yzn base env with cuda9.0 and conda-pytorch " -a “yzn” yzn-base1 siat123/yzn-base2 # 生成镜像。-m 是message,-a 是username,使用容器yzn-base1(CONTAINER ID) 生成镜像yzn-base2

docker run 运行 镜像

docker run # 运行镜像,生成容器

docker pull (从远程仓库)拉取镜像 至本地

docker pull siat123/yzn-base1:latest # 不加tag,默认拉取latest版本

docker push 推送(本地)镜像 至远程仓库

docker push siat123/yzn-base2 # 默认推送latest版本

2. 常见的使用方法

2.1. 服务器(电脑)突然停止后,如何重启之前运行的容器

docker ps -a  # 查看所有的容器,包含没有在运行的容器
docker restart a40c0e2ff492  #  重启容器的ID
docker ps  # 查看正在运行的容器

3. 关于docker的一些知识(科普不用细看)

如何理解镜像和容器的关系?

  1. 容器与镜像的关系类似于面向对象编程中的对象与类;
  2. 镜像(image)是类,容器(container)是对象,一个镜像可以产生多了容器。
  3. 容器通过镜像启动,镜像启动之后自动生成容器。
  4. 镜像像一张系统安装光盘(可盘后不能更改),容器是安装好的系统。
  5. 当镜像的容器还存在时,是不能删除镜像的。

docker的5个使用步骤?

  1. 应用程序有很多组件,拆分它们;
  2. 选择成熟的基础镜像;
  3. 添加安全管理;
  4. 添加代码;
  5. 配置测试部署。

Docker的4个组成?

  1. docker Client客户端
  2. Docker Daemon守护进程
  3. Docker Image镜像
  4. Docker Container容器
  • 我们通过客户端写命令,然后客户端将命令发送给守护进程,守护进程再将命令执行的结果返回给客户端,这就使我们能通过命令查看执行结果,镜像就是容器的源代码,容器通过镜像启动,使用仓库来保存用户构建的镜像,仓库分为共有和私有。

系统学习docker的知识总结?

  1. 学习链接:https://www.w3cschool.cn/use_docker/use_docker-phr127

  2. Docker 相关概念:通过镜像生成有端口的容器

  • 镜像运行之后生成容器,当需要与容器立即交互时,须给容器分配一个虚拟终端(-t 命令实现),通过分配的虚拟容器IP和端口(8000)实现对容器的交互。
  1. 容器虚拟IP的查看方法
  • docker 的网络配置:将实体机的端口映射到容器端口

docker run -d -p 5000:22 -p 18888:8888 zys:common
#实体机 5000 端口映射到容器 22 端口, 同时 18888 端口映射到容器 8888 端口,有了端口之后就可以使用ssh登录到容器了。

  1. docker 的分区挂载和数据卷:
  • 需要挂在的原因是容器中的文件系统是独立的, 一旦容器被删除, 则文件系统也会被删除。
  • 将实体机的目录(前面)挂在到容器的文件系统文件(后面)下

docker run -d -p 5000:22 -v /home/zys/temp:/root/volumn zys:common

  1. docker 的镜像服务器

这里说的镜像服务器(docker-registry )就是指仓库Hub,会使用pull和push命令,和GitHub的使用方法相同的。

docker创建镜像的两种方式?

  1. 通过执行Dockerfile文件生成

docker build

  1. 通过已有的新容器(如,在旧容器中安装Pycharm或vim等软件后)生成自定义镜像

docker run <镜像名> # 通过镜像生成容器
docker commit <容器名> <镜像名> # 利用容器生成镜像

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值