zoukankan      html  css  js  c++  java
  • docker 常用指令

    装docker

    https://www.runoob.com/docker/centos-docker-install.html

    开机开启docker服务
    1、使用ststemctl命令

    systemctl enable docker

    2.将Docker的docker.service服务移动到系统服务中

    # cp /usr/lib/systemd/system/docker.service /etc/systemd/system/
    # systemctl daemon-reload
    # systemctl restart docker
    

      

    Docker 加速
    由于国内下载 docker image 速度较慢,可以使用镜像进行加速。

    编辑或新增 /etc/docker/daemon.json 添加如下内容:

    {
    "registry-mirrors":
    [
    "https://wixr7yss.mirror.aliyuncs.com",
    "https://registry.docker-cn.com",
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com"
    ]
    }
    

      

      

    容器开机启动
    网上有些文章说,要让docker 的容器自动在开机启动,是写脚本,比如在 rc.local 中写。
    其实完全没必要这么麻烦,docker 有相关指令,docker run 指令中加入 --restart=always 就行。

    sudo docker run -dit --restart unless-stopped ..... 

    如果创建时未指定 --restart=always ,可通过update 命令设置

    docker update --restart always names 或 contain_id 

    查看 所有容器

    docker ps -a

    移除所有停止容器

     sudo docker container prune

    停止某个容器

    sudo docker stop container_id 

    移除某个容器

    sudo docker rm container_id

    重命名镜像

    docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
    

      

    从Docker文件构建Docker映像

    docker build -t image-name docker-file-location

    -t:它用于指定使用提供的名称来标记Docker映像。


    运行Docker映像

    docker run -d --name=xxxx image-name

    -d:用于创建守护程序进程(后台运行)


    查看可用的Docker映像

    docker images

    查看最近的运行容器

    docker ps -l 

    -l:它用于显示最新的可用容器。


    查看所有正在运行的容器

    docker ps -a

    -a:它用于显示所有可用的容器。

    停止运行容器

    docker stop container_id(names)

    运行容器

    docker start container_id(names)

    container_id:由Docker分配给容器的Id。
    删除一个映像

    docker rmi image-name -f 
    docker rmi name:tag
    

      

    删除容器

    docker rm 容器ID或容器名

    #删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)

    sudo docker rm $(sudo docker ps -a -q)

    #根据容器的状态,删除Exited状态的容器

    sudo docker rm $(sudo docker ps -qf status=exited)

    # 删除孤立的容器。

    sudo docker container prune

    删除所有映像

    docker rmi $(docker images -q)
    

    删除指定关键词多个镜像

    docker rmi --force `docker images | grep XXX | awk '{print $3}'`
    删除所有tag标签是none的镜像
    docker images|grep none|awk '{print $3 }'|xargs docker rmi

    强制删除所有映像

    docker rmi -r $(docker images -q)

    -r:用于强制删除映像。

    停用全部运行中的容器:

    docker stop $(docker ps -q)

     删除所有容器

    docker rm $(docker ps -a -q)

    删除停止的容器

    docker container prune
    

      

    进入Docker容器

    docker exec(attach) -it container-id 
    docker exec -it 容器名字 /bin/bash
    docker exec -it 容器名字(container-id) /bin/sh

      

    退出方式应该用一个组合键 Ctrl+p Ctrl+q

    查看容器时间 其他命令等

    docker exec container-id date

    启动失败查看docker 日志

    $docker logs [容器名/容器ID]


    查看已存在的容器所挂载的目录

    $ docker inspect container-id | grep Mounts -A 20

    文件目录挂载

    -v [host-dir]:[container-dir]:[rw|wo]

    -v后面的映射关系是"宿主机文件/目录:容器里对应的文件/目录",其中,宿主机上的文件/目录是要提前存在的,容器里对应的文件/目录会自动创建。
    数据卷权限:
    挂载的数据默认为可读写权限。

    内部文件查看

    docker exec -it [CONTAINER ID] ls -l(bash)

    ls -l可换成其他操作

    拷贝文件 从容器到本地:

    docker cp <containerId>:/logs /home/gps/
    

      

    拷贝文件 从本地到容器:

    docker cp filename <containerId>:/file/path/within/container
    

      

  • 相关阅读:
    牛客网 CSL的英语考试
    SDNU 1016.矩形合并
    SDNU 1412.Huffuman树(优先队列)
    HDU
    HDU
    HDU
    SDNU 1504.B.Fibonacci
    Find them, Catch them(种类并查集)
    golang中的net/rpc包
    gRPC
  • 原文地址:https://www.cnblogs.com/lucoo/p/10215747.html
Copyright © 2011-2022 走看看