美文网首页
(四)docker常用命令

(四)docker常用命令

作者: 神经网络爱好者 | 来源:发表于2020-05-04 16:00 被阅读0次

    1、docker快速安装

      在 Linux上 安装 Docker,适用于Ubuntu,Debian,Centos等大部分Linux,会3小时同步一次Docker官方资源 。

    root@ubuntu:~# curl -sSL https://get.daocloud.io/docker | sh 
     # 查看docker版本
    root@ubuntu:~# docker -v
    Docker version 19.03.8, build afacb8b7f0
    # 运行第一个docker命令
    root@ubuntu:~# docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    0e03bdcc26d7: Pull complete 
    Digest: sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    

    2、基本命令

    docker 镜像的命名,名字:标签

    搜索镜像
    ~# docker search centos
    下载镜像
    ~# docker pull centos:7
    查看本地镜像
    ~# docker images
    运行镜像
    ~# docker run centos:7
    

    docker run命令的一些参数:
    -d : 后台运行容器,并返回容器ID;
    -it : 以交互模式运行容器,通常与 -t 同时使用;
    -p : 指定端口映射,格式为:主机(宿主)端口:容器端口;
    -v : 共享目录,格式为:主机(宿主)目录:容器目录;
    -w : 设定容器的工作目录;
    --rm : 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
    更多参考docker run --help

    查看运行中的容器及所有容器的状态
    ~# docker ps -a
    停止镜像
    ~# docker stop 容器 ID(前四位即可)
    列出所有的容器 ID
    ~# docker ps -aq
    停止所有的容器
    ~# docker stop $(docker ps -aq)
    删除所有的容器
    ~# docker rm $(docker ps -aq)
    删除所有镜像
    ~# docker rmi $(docker images -q)
    
    基于已有的docker容器,做一新的dokcer image
    docker commit <container_id> <image_name>
    
    重命名镜像名称和TAG
    docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
    
    复制文件
    docker cp mycontainer:/opt/file.txt /opt/local/
    docker cp /opt/local/file.txt mycontainer:/opt/
    

    镜像与容器的离线保存、加载

    • 镜像的离线保存、加载:save/load
      例如我们想将镜像库中的postgres和mongo打包,那么可以执行:
    docker save -o images.tar postgres:9.6 mongo:3.4
    

    docker save如果指定的是container,docker save将保存的是容器背后的image。
    将打包后的镜像载入进来使用docker load,例如:

    docker load -i images.tar
    

    上述命令将会把postgres:9.6和mongo:3.4载入进来,如果本地镜像库已经存在这两个镜像,将会被覆盖。

    • 容器的离线保存、加载:export/import
    docker export -o postgres-export.tar postgres
    docker import postgres-export.tar postgres:latest
    

    总结一下docker save和docker export的区别:
    1、docker save保存的是镜像(image),docker export保存的是容器(container);
    2、docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
    3、docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。
    4、docker save的应用场景是,使用docker save将用到的镜像打个包,然后拷贝到客户服务器上使用docker load载入。
    5、docker export的应用场景主要用来制作基础镜像。

    3、高级设置技巧

    • --storage-opt size=20G 与docker run合用,配置单个容器的磁盘空间。

    相关文章

      网友评论

          本文标题:(四)docker常用命令

          本文链接:https://www.haomeiwen.com/subject/ueoeghtx.html