• Docker常用命令


    原文链接:https://www.zhoubotong.site/post/68.html

    Docker常用命令

    删除安装包:

    sudo apt-get purge docker-ce
    

    删除镜像、容器、配置文件等内容:

    sudo rm -rf /var/lib/docker
    

    清理掉所有处于终止状态的容器

    sudo docker container prune
    

    使用 docker port bf08bxxx(容器id) 或 docker port namexxx(容器名称) 来查看容器端口的映射情况

    使用 docker logs [ID或者名字] 可以查看容器内部的标准输出。

    sudo docker logs -f bf08bxxx
    

    -f:  让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。\

    使用 docker top 来查看容器内部运行的进程

    sudo docker top bf08bxxx(或容器名称)
    

    使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

    sudo docker inspect bf08bxxx(或容器名称)
    

    使用 docker stop/start  bf08bxxx 停止/启动容器

    sudo docker ps -l #查询最后一次创建的容器
    

    使用 docker rm 命令来删除不需要的容器

    sudo docker rm wizardly_chandrasekhar
    

    删除容器时,容器必须是停止状态,否则会报错。

    使用 docker rmi 命令删除镜像,比如我们删除 ubutun 镜像:

    sudo docker rmi ubutun
    

    镜像更新提交

    当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

    1、从已经创建的容器中更新镜像,并且提交这个镜像

    2、使用 Dockerfile 指令来创建一个新的镜像

    更新镜像之前,我们需要使用镜像来创建一个容器。

    uos@root:~$ docker run -t -i uos:15.10 /bin/bash
    uos@e218ed11ee1:/#
    

    在运行的容器内使用 apt-get update 命令进行更新。

    在完成操作之后,输入 exit 命令来退出这个容器。

    此时 ID 为 e218ed11ee1 的容器,是按我的需求更改的容器。可以通过命令 docker commit 来提交容器副本。

    uos@root:~$ docker commit -m="uos update" -a="zhoubotong" e218ed11ee1 zhoubotong/uos:v2
    

    各个参数说明:

    • -m: 提交的描述信息
    • -a: 指定镜像作者
    • e218ed11ee1: 容器 ID
    • zhoubotong/uos:v2: 指定要创建的目标镜像名

    我们可以使用 docker images 命令来查看我们的新镜像 zhoubotong/uos:v2, 这里不再阐述。

    镜像构建

    使用命令 docker build , 从零开始来创建一个新的镜像。我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

    文件不存在请新建:touch Dockerfile

    uos@root:~$ cat Dockerfile  
    FROM    centos:6.7 
    MAINTAINER      Fisher "zpt@uniontech.com" 
    RUN     /bin/echo 'root:123456' |chpasswd 
    RUN     useradd uos
    RUN     /bin/echo 'uos:123456' |chpasswd 
    RUN     /bin/echo -e "LANG="en_US.UTF-8"" >/etc/default/local 
    EXPOSE  22 
    EXPOSE  80 
    CMD     /usr/sbin/sshd -D
    

    每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

    第一条FROM,指定使用哪个镜像源

    RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。

    然后,我们使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像。

    uos@root:~$ docker build -t uos/centos:6.7 .
    

    参数说明:

    • -t :指定要创建的目标镜像名
    • . :Dockerfile 文件所在目录,也可以指定Dockerfile 的绝对路径

    完后可以使用docker images 查看创建的镜像已经在列表中存在。

    镜像标签设置

    使用 docker tag 命令,为镜像添加一个新的标签。

    uos@root:~$ docker tag e218ed11ee1 zhoubotong/centos:dev
    

    docker tag 镜像ID,这里是 e218ed11ee1,用户名称、镜像源名(repository name)和新的标签名(tag)。

    使用 docker images 命令可以看到,ID为e218ed11ee1的镜像多了一个标签。

    uos@root:~$ docker images
    REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
    zhoubotong/centos       6.7                 e218ed11ee1        1 hours ago         190.6 MB
    zhoubotong/centos       dev                 e218ed11ee1        1 hours ago         190.6 MB
    

    上面大致就介绍这么多了。

  • 相关阅读:
    Object-C,NSSet,不可变集合
    NYIST 860 又见01背包
    NYIST 1070 诡异的电梯【Ⅰ】
    HDU 1542 Atlantis
    HDU 4756 Install Air Conditioning
    CodeForces 362E Petya and Pipes
    HDU 4751 Divide Groups
    HDU 3081 Marriage Match II
    UVA 11404 Palindromic Subsequence
    UVALIVE 4256 Salesmen
  • 原文地址:https://www.cnblogs.com/phpper/p/16584906.html
Copyright © 2020-2023  润新知