【docker】常用指令

提示:博客里docker的常用指令暂时只在window10中使用

docker常用指令

  • docker常用镜像操作及容器操作
    • 1.常用镜像操作
      • 镜像、容器的详细信息
      • 查看镜像
      • 下载镜像
      • 上传镜像
      • 创建容器
      • 删除镜像
      • 修改镜像标签(重命名)
      • Dockerfile创建镜像
      • 导出镜像
      • 导入镜像
    • 2.常见容器操作
      • 只查看正在运行的容器
      • 查看的容器(所有)
      • 停止容器
      • 重启容器
      • 删除容器
      • 进入容器
      • 制作镜像
      • 导出容器
      • 导入容器
      • Docker容器的配置信息
      • Docker容器名更改
    • 3.宿主机与容器交互
      • docker容器复制文件到主机:
      • 主机复制文件到docker容器
    • 附录

docker常用镜像操作及容器操作

1.常用镜像操作

docker镜像库

镜像、容器的详细信息

# 查看所以镜像、容器的详细大小
docker system df -v

查看镜像

docker images

下载镜像

# image_name 镜像名
docker pull image_name
# eg:docker pull  gotoeasy/ubuntu-desktop 
# 推荐的ubuntu桌面版镜像 【密码123456】

上传镜像

# tag 镜像版本号
docker push image_name:tag

流程繁杂,具体参考

创建容器

# -p --端口映射(6080:web版vnc,浏览器直接访问 5900:客户端访问)
# -d --后台运行 
# –name=container_name --设容器名
# imagename:tag --镜像
# cpu版本
docker run -it --shm-size 8g --name container_name -p 5900:5900 -p 22:22 -d image_name:tag
# gpu版本
docker run -it --shm-size 8g --gpus all --name container_name -p 5900:5900 -p 22:22 -d image_name:tag
# eg(创建深度学习ubuntu容器)
# docker run -it --gpus all --name deepLearning_ubuntu18 -p 5900:5900 -p 22:22 -d gotoeasy/ubuntu-desktop:latest

删除镜像

# image_id 镜像id
# 使用镜像ID删除时会先删除所有指向该镜像的标签,再删除该镜像文件本身
docker rmi image_id 
# eg: docker rmi 1a89db715923
# 镜像存在依赖于它的容器时,不允许删除,需要强制删除
docker rmi -f image_name:tag
# eg: docker rmi -f yangyu/ubuntu18.04_for_deeplearning:v1.0

【docker】常用指令_第1张图片

修改镜像标签(重命名)

# 功能更接近于为指定镜像添加快捷
docker tag image_id new_image_name: new_tag
# eg: docker cc53add7e80b kasmweb2/desktop:develop-rolling2
# 或者
docker tag old_image_name: old_tag new_image_name: new_tag
# eg: docker tag kasmweb/desktop:develop-rolling  kasmweb2/desktop:develop-rolling2
# 镜像ID一模一样,说明是同一个镜像,只是别名不同而已,可以任意删除其中一个别名(标签)
docker rmi old_tag new_image_name: new_tag
# 或
docker rmi new_tag new_image_name: new_tag
# 但是绝对不能用image_id 删除即: docker rmi image_id 

【docker】常用指令_第2张图片

Dockerfile创建镜像

docker build -t image_namedockerfilepath

导出镜像

# 保存镜像包
# filename.tar 镜像包名
# path/ 存放目录
# image_name镜像名
# path/filename.tar必须都是小写
docker save -o path/filename.tar image_name
docker save image_name> path/filename.tar
#eg:docker save -o E:\dockerimage\ubuntu18.04_for_deeplearning.tar yangyu/ubuntu18.04_for_deeplearning

【docker】常用指令_第3张图片
【docker】常用指令_第4张图片

导入镜像

# 载入镜像包
# 载入过程不能镜像名,镜像名即为filename
docker load --input filename.tar
docker load < filename.tar

2.常见容器操作

只查看正在运行的容器

 docker ps

查看的容器(所有)

 docker ps -a

停止容器

# container_name 容器名
 docker stop container_name
 docker stop container_id
 # eg: docker stop deepLearning_ubuntu18

重启容器

docker start container_name
docker start container_id
 # eg: docker start deepLearning_ubuntu18

在这里插入图片描述

删除容器

docker rm container_name
docker rm container_id
 # eg: docker rm deepLearning_ubuntu18

进入容器

 docker attach container_name

制作镜像

# imagename必须是全小写
 docker commit container_id image_name:tag
 # eg:docker commit 0b66c3cb1aaf yangyu/ubuntu18.04_for_deeplearning:v1.0

【docker】常用指令_第5张图片

导出容器

# 保存容器
 docker export container_id > filename.tar

在这里插入图片描述
filename.tar是导出容器的文件名,默认地址在当前执行命令行的文件夹内。
【docker】常用指令_第6张图片

导入容器

 docker import filename.tar > image_name:v1.0

docker import用来载入容器包,恢复的是镜像,可以指定新名称即imagename。
10,查看容器进程

 docker top containername

Docker容器的配置信息

 docker inspect container_name
 docker inspect -f'{{ .NetworkSettings.IPAddress }}'container_name

Docker容器名更改

 docker inspect container_name
docker rename container_name container_new_name
# eg:docker rename deepLearning_ubuntu18 PytorchFor3D

【docker】常用指令_第7张图片

3.宿主机与容器交互

docker容器复制文件到主机:

 docker cp  container_id:/filepath  hostfilepath

container_id是容器id(通过docker ps -a获取); /filepath是文件在docker容器的路径;hostfilepath是文件放置在主机的路径

主机复制文件到docker容器

 docker cp  hostfilepath  containerid:/filepath

附录

docker指令参考
docker中文文档
docker应用和数据迁移参考:Docker应用和数据默认位置设置/更改部分
【docker】常用指令_第8张图片

你可能感兴趣的:(docker,docker,容器)