分类
笔记

常用docker命令

最近因为一些原因,接触到了docker技术。这里把docker中常用的一些命令记录下来,以备不时查阅。

Note

  • 容器的实质是进程,是运行在一个隔离的环境里的进程,仿佛是运行在另一个系统中的进程一般。
  • 容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 本文针对一些常用的docker命令,进行了分类和总结

使用容器时常用的命令

  1. 列出当前机器已有的镜像
    docker image ls docker images
  2. 从镜像中运行一个docker容器
    docker run -it --rm --gpus all -v /home/data:/data {image} /bin/bash
    其中{image}表明镜像的id,这里可以输入完整的id,但一般来说输入前三四个数字就可以了。-v表示把一个外部卷挂在到启动的docker系统中。容器存储层在容器删除后会被抹掉,不会保存任何信息,因此按照Docker最佳实践的要求,所有文件的写入操作,都应该使用外部挂载卷,这样性能和稳定性都更高。
  3. 容器和宿主机的数据传输 推荐使用外部卷的形式,如果要直接从宿主机复制文件进入容器可以通过copy指令。
    docker cp /data/test.xml {container}:/data/
    其中{container}表示容器的id,可以输入完整的id,但一般来说前三四个数字就足够了。 如果要从容器内部拷贝文件到主机,同样可以使用copy指令。
    docker cp {container}:/data/test.xml /data/
  4. 退出一个正在运行的容器
    exit
  5. 查看正在运行的容器
    docker container ls 或者 docker ps -a
  6. 启动一个已经停止的容器
    docker start {container}
  7. 停止一个容器
    docker stop {container}
  8. 重启一个停止的容器
    docker stop {container}
  9. 在后台运行容器
    docker run -itd --rm --gpus all -v /home/data:/data {image} /bin/bash
  10. 删除容器
    docker rm -f {container}
  11. 清理掉所有处于停止状态的容器
    docker container prune

加载和保存容器所用的命令

  1. 查看容器id
    docker container ls
  2. 从容器创建一个新的镜像
    docker commit -a {author} -m {message} {container} {REPOSITORY:TAG}
    这里的author是提交的镜像作者,{message}表示修改的说明,例如:
    docker commit -a minghuiw -m "add support to .png" 37af1 label:v2
  3. 查看镜像信息
    docker image ls
    此处应该出现了最新提交的新镜像。
  4. 将新镜像保存成tar文件
    docker save {image} -o output.tar
    注意到这里的image可以是镜像的id,输入id的前几位即可。
  5. 保存为一个压缩文件
    docker save {image} | gzip > output.tar.gz
    如果镜像较大,可能会需要一些时间等待这个命令完成。
  6. 从文件中加载镜像
    docker load -i output.tar.gz 或者 docker load -i output.tar
    注意到docker默认的大小为10G,如果容器大小已经超过了10个G,则应首先调整默认容器上限,再重新尝试加载。
  7. 查看是否载入成功
    docker image ls或者docker images | grep {image_name}
  8. 给加载的镜像打上tag
    docker tag {image_id} {image_name}:{image_tag}

宿主机管理docker服务命令

  • 查看docker客户端的所有命令
    docker
  • 更加深入的了解docker命令的使用方法(此处的command应替换为具体命令 )
    docker command --help
  • 例如查看stats命令的用法
    docker stats --help
  • 启动docker服务
    service docker start 或者systemctl start docker
  • 查看当前运行的docker服务
    docker stats
  • 关闭docker服务
    service docker stop 或者 systemctl stop docker

发表评论

邮箱地址不会被公开。 必填项已用*标注