• docker常用命令


    Docker 进程相关命令

    1. 查看docker状态

      systemctl status docker
      
      • 1
    2. 启动docker服务

      systemctl start docker
      
      • 1
    3. 停止docker服务

      systemctl stop docker
      
      • 1
    4. 重启docker服务

      systemctl restart docker
      
      • 1
    5. 设置开机启动docker服务

      systemctl enalbe docker
      
      • 1

    Docker 镜像相关命令

    1. 查看本地镜像

      docker images
      docker images –q # 查看所有镜像的id
      docker inspect 镜像名称 # 查看镜像信息
      
      • 1
      • 2
      • 3
    2. 搜索镜像

      docker search 镜像名称
      
      • 1
    3. 拉取镜像

      docker pull 镜像名称:镜像版本
      # 如果不指定版本,则默认拉去最新版,不知道版本可以访问 https://hub.docker.com/ 查询;
      
      • 1
      • 2
    4. 删除镜像

      docker rmi 镜像id或名称 # 删除指定本地镜像
      docker rmi `docker images -q` # 删除所有本地镜像
      
      • 1
      • 2
    5. 创建某个container的镜像

      docker [container] commit CONTAINER IMAGE_NAME:TAG
      
      • 1
    6. 将镜像ubuntu:20.04导出为本地文件ubuntu_20_04.tar

      docker save -o ubuntu_20_04.tar ubuntu:20.04
      
      • 1
    7. 将镜像ubuntu:20.04从本地文件ubuntu_20_04.tar中加载出来

      docker load -i ubuntu_20_04.tar
      
      • 1

    Docker 容器相关命令

    1. 查看容器

      docker ps # 查看正在运行的容器
      docker ps –a # 查看所有容器
      docker inspect 容器名称 # 查看容器信息
      
      • 1
      • 2
      • 3
    2. 创建并启动容器

      # 创建容器
      docker [container] create 参数 镜像名字:版本
      
      # 创建并启动容器
      docker [contaienr] run 参数 镜像名字:版本
      # 例
      docker run -it --name=容器名字 镜像名字:版本  [附加操作]
      docker run -it --name=c1 centos:7 /bin/bash
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • -i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭;
      • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
      • -d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭;
      • -it 创建的容器一般称为交互式容器,-id 创建的容器一般称为守护式容器;
      • --name:为创建的容器命名;
      • -p:将宿主机端口与容器端口映射, 如3307:3306冒号左侧是宿主机端口, 右侧是docker容器端口;
    3. 启动容器

      docker [container] start 容器名称
      
      • 1
    4. 进入容器

      docker exec 参数 [/bin/bash] 
      
      • 1
    5. 查看某个容器内的所有进程

      docker top CONTAINER
      
      • 1
    6. 查看所有容器的统计信息

      docker stats # 包括CPU、内存、存储、网络等信息
      
      • 1
    7. 在本地和容器间复制文件

      docker cp xxx CONTAINER:xxx
      或
      docker cp CONTAINER:xxx xxx
      
      • 1
      • 2
      • 3
    8. 重命名容器

      docker rename CONTAINER1 CONTAINER2
      
      • 1
    9. 修改容器限制

      docker update CONTAINER --memory 500MB
      
      • 1
    10. 退出容器

    exit
    
    • 1
    1. 停止容器

      docker stop 容器名称
      
      • 1
    2. 删除容器

      docker rm 容器名称或id #需要停止容器才能删除
      docker rm `docker ps -aq` #删除所有容器
      
      • 1
      • 2

    Docker 数据卷

    数据卷是宿主机中的一个目录或文件,通过配置数据卷,可以实现宿主机与容器之间数据的双向同步。

    一个数据卷可以同时被多个容器挂载,一个容器可以挂载多个数据卷。

    数据卷的作用:

    1. 实现容器数据持久化;
    2. 宿主机与容器间接通信;
    3. 容器之间交换数据;

    方式一:配置数据卷

    创建启动容器时,使用 –v 参数 设置数据

    docker run ... –v 宿主机目录(文件):容器内目录(文件) ... 
    
    # 例
    docker run -it --name=c1 -v /root/data:/root/data_c1 centos:7 /bin/bash
    
    • 1
    • 2
    • 3
    • 4

    1.目录必须是绝对路径;

    2.如果目录不存在,会自动创建;

    3.可以挂载多个数据卷;

    方式二:配置数据卷容器

    多个容器挂载同一个数据卷,来实现容器互相同步数据。

    image-20220719165038156
    1. 创建启动c3数据卷容器,使用 –v 参数 设置数据卷

      docker run –it --name=c3 –v /volume centos:7 /bin/bash #不写宿主机目录时,会自动在宿主机创建一个目录
      
      • 1
    2. 创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷

      docker run –it --name=c1 --volumes-from c3 centos:7 /bin/bash
      docker run –it --name=c2 --volumes-from c3 centos:7 /bin/bash
      
      • 1
      • 2

  • 相关阅读:
    leetcode 11.盛最多水的容器
    springboot自定义starter集成controller、Dao
    烟雾、空气质量、温湿度…自己徒手做个环境检测设备
    Ubuntu20.04 搭建L2TP+IPsec客户端
    『忘了再学』Shell基础 — 6、Bash基本功能(输入输出重定向)
    知识融合介绍
    面试题4:POST 比 GET 安全?
    开源后台服务管理系统的搭建
    工具介绍——第三方软件远程连接(工具:Rustdesk)
    【玩转 Cloud Studio】简单谈一下用户体验
  • 原文地址:https://blog.csdn.net/weixin_52341477/article/details/125905503