Docker常用操作

一、镜像操作

1)构建镜像
 docker build -t REPOSITORY:TAG .    注意最后一个点[.]不能缺少,生成完:runoob/centos为REPOSITORY,6.7为TAG

2)获取镜像
 sudo docker pull REPOSITORY[:TAG]

3)为镜像打个标签
 docker tag IMAGE ID labelname   IMAGE ID:860c279d2fec

4)删除镜像
  首先删除容器,再删除镜像
 docker ps -a
  docker rm id
 删除镜像
 docker ps -a
  docker images
  docker rmi id
  注:删除前需保证容器是停止的

5)保存镜像为*.tar

5.1 save
  docker save -o pytorch_latest.tar pytorch/pytorch:latest      #导出将需要花费一点时间,导出成功后将.tar拷到离线主机导入即可

5.2 export

  docker export 1e560fca3906 > ubuntu.tar   #将容器1e560fca3906导出到文件
6)加载镜像*.tar

6.1 load
  docker load -i pytorch_latest.tar:镜像导出和导入需要使用相匹配的命令,如save对应load

6.2 import

  docker import - test/ubuntu:v1

   注:5和6需对应使用,save与load相对应,export和import相对应。

二、容器操作

1)启动docker容器
  sudo docker run -it  REPOSITORY:TAG
  sudo docker run -t -i REPOSITORY:TAG  /bin/bash

  sudo docker run -t -i -v /local_ws:/docker_ws  REPOSITORY:TAG  /bin/bash       #Docker容器启动的时候,可以用-v参数指定挂载宿主机的一个目录,docker_ws为docker中目录(容器目录不可以为相对路径),local_ws为本地目录

  sudo docker run --gpus all --shm-size="8g" -it --rm --entrypoint="/bin/bash" docker_name:v0.1 (镜像)   #--rm 当容器退出时能够自动清理容器内部的文件系统

  sudo docker run --gpus all --shm-size="16g" -it -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all --rm --entrypoint="/bin/bash" dockername:dockertag 

      #-e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all 用于支持docker中cuda版torch


2)进入docker容器

2.1 exec
  sudo docker exec -it 126 /bin/bash 注:126为容器CONTAINER ID前3位,使用该命令前,当前容器需是启动状态。如果当前容器处于当运行状态,可使用sudo docker start container_id

2.2 attach

  sudo docker attach 126  #不建议使用,当退出该容器时,文件系统也随之消失;


3)停止一个运行的容器
  sudo docker stop -t=5s 126 延时关闭5s   


4)直接关闭运行的容器
  sudo docker kill


5)重启一个容器
  sudo docker restart 126


6)查看当前运行中的容器
  sudo docker ps [-a]         带a为所有生成过的容器


7)删除容器
 docker ps -a
  docker rm id


12)将当前容器保存为一个镜像:
  docker commit -a “labelname” CONTAINER_ID imagename  安装完软件后可以采用该方法保存已安装的配置,生成新的镜像;


14)容器与本地间拷贝数据
 docker cp orig_dir  desc_dir orig_dir:容器中路径  desc_dir:本地路径

14.1 本地目录拷贝至容器

    docker cp /igs/soft 96f7f14e99ab:/workspace/  将本地目录/igs/soft拷贝到容器目录workspace下 96f7f14e99ab为容器ID 

 docker cp /igs/soft 96f7f14e99ab:/workspace 将本地目录/igs/soft拷贝到容器目录,并重命名为workspace

14.2 容器目录拷贝至本地

   docker cp 96f7f14e99ab:/workspace /igs/soft/   容器目录workspace拷贝到本地目录/igs/soft

15)

通过docker inspect命令查看docker目录挂载到宿主机的位置

三、其它操作

docker环境内无法使用sudo:    apt-get -y install sudo  

安装vim: sudo apt-get install vim,gedit

posted @ 2021-01-08 15:13  jimchen1218  阅读(242)  评论(0编辑  收藏  举报