zoukankan      html  css  js  c++  java
  • Docker Cheatsheet

    一、创建

    docker create:创建容器,处于停止状态。


    centos:latest:centos容器:最新版本(也可以指定具体的版本号)。
    本地有就使用本地镜像,没有则从远程镜像库拉取。
    创建成功后会返回一个容器的ID。
    docker run:创建并启动容器。
    交互型容器:运行在前台,容器中使用exit命令或者调用docker stop、docker kill命令,容器停止。
    如下图已经在前台开启一个docker容器:


    i:打开容器的标准输入。
    t:告诉docker为容器建立一个命令行终端。
    name:指定容器名称,可以不填(随机),建议根据具体使用功能命名,便于管理。
    centos:告诉我们使用什么镜像来启动容器。
    /bin/bash:告诉docker要在容器里面执行此命令。
    后台型容器:运行在后台,创建后与终端无关,只有调用docker stop、docker kill命令才能使容器停止。


    d:使用-d参数,使容器在后台运行。
    c: 通过-c可以调整容器的CPU优先级。默认情况下,所有的容器拥有相同的CPU优先级和CPU调度周期,但你可以通过Docker来通知内核给予某个或某几个容器更多的CPU计算周期。比如,我们使用-c或者–cpu-shares =0启动了C0、C1、C2三个容器,使用-c/–cpu-shares=512启动了C3容器。这时,C0、C1、C2可以100%的使用CPU资源(1024),但C3只能使用50%的CPU资源(512)。如果这个主机的操作系统是时序调度类型的,每个CPU时间片是100微秒,那么C0、C1、C2将完全使用掉这100微秒,而C3只能使用50微秒。
    -c后的命令是循环,从而保持容器的运行。
    docker ps:可以查看正在运行的docker容器。
    二、查看
    docker ps: 查看当前运行的容器
    docker ps -a:查看所有容器,包括停止的。


    标题含义:

    CONTAINER ID:容器的唯一表示ID。
    IMAGE:创建容器时使用的镜像。
    COMMAND:容器最后运行的命令。
    CREATED:创建容器的时间。
    STATUS:容器状态。
    PORTS:对外开放的端口。
    NAMES:容器名。可以和容器ID一样唯一标识容器,同一台宿主机上不允许有同名容器存在,否则会冲突。
    docker ps -l :查看最新创建的容器,只列出最后创建的。

    docker ps -n=2:-n=x选项,会列出最后创建的x个容器。


    三、启动
    通过docker start来启动之前已经停止的docker_run镜像。
    1

    容器名:docker start docker_run,或者ID:docker start 43e3fef2266c。


    –restart(自动重启):默认情况下容器是不重启的,–restart标志会检查容器的退出码来决定容器是否重启容器。
    docker run --restart=always --name docker_restart -d centos /bin/sh -c "while true;do echo hello world; sleep;done":
    --restart=always:不管容器的返回码是什么,都会重启容器。
    --restart=on-failure:5:当容器的返回值是非0时才会重启容器。5是可选的重启次数。

    四、终止


    docker stop [NAME]/[CONTAINER ID]:将容器退出。
    docker kill [NAME]/[CONTAINER ID]:强制停止一个容器。


    五、删除
    容器终止后,在需要的时候可以重新启动,确定不需要了,可以进行删除操作。
    1
    docker rm [NAME]/[CONTAINER ID]:不能够删除一个正在运行的容器,会报错。需要先停止容器。


    一次性删除:docker本身没有提供一次性删除操作,但是可以使用如下命令实现:

    docker rm 'docker ps -a -q':-a标志列出所有容器,-q标志只列出容器的ID,然后传递给rm命令,依次删除容器。
    ---------------------
    作者:孤天浪雨
    来源:CSDN
    原文:https://blog.csdn.net/u010246789/article/details/53958662
    版权声明:本文为博主原创文章,转载请附上博文链接!


    进入容器
    在使用 -d 参数时,容器启动后会进入后台。

    某些时候需要进入容器进行操作,包括使用 docker attach 命令或 docker exec 命令,推荐大家使用 docker exec 命令,原因会在下面说明。

    attach 命令
    下面示例如何使用 docker attach 命令。

    $ docker run -dit ubuntu
    243c32535da7d142fb0e6df616a3c3ada0b8ab417937c853a9e1c251f499f550

    $ docker container ls
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    243c32535da7 ubuntu:latest "/bin/bash" 18 seconds ago Up 17 seconds nostalgic_hypatia

    $ docker attach 243c

    root@243c32535da7:/#

    注意: 如果从这个 stdin 中 exit,会导致容器的停止。

    exec 命令
    -i -t 参数
    docker exec 后边可以跟多个参数,这里主要说明 -i -t 参数。

    只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。

    当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符。

    $ docker run -dit ubuntu
    69d137adef7a8a689cbcb059e94da5489d3cddd240ff675c640c8d96e84fe1f6

    $ docker container ls
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    69d137adef7a ubuntu:latest "/bin/bash" 18 seconds ago Up 17 seconds zealous_swirles

    $ docker exec -i 69d1 bash
    ls
    bin
    boot
    dev
    ...

    $ docker exec -it 69d1 bash

    root@69d137adef7a:/#

    如果从这个 stdin 中 exit,不会导致容器的停止。这就是为什么推荐大家使用 docker exec 的原因。

    更多参数说明请使用 docker exec --help 查看。

  • 相关阅读:
    2013总结,新的征程开始了!
    NOIP2015滚粗记
    HelloWorld!
    For the strivers ——
    【DP】最长公共子序列
    【DP】青蛙过河
    【DP+拓扑】关键子工程
    【线段树+向量】POJ 2991 Crane
    【线段树】POJ3225 Help with intervals
    【数学】test20170311
  • 原文地址:https://www.cnblogs.com/sddai/p/11119384.html
Copyright © 2011-2022 走看看