Docker配置指南(二):指令集(一)

二、Docker指令集
#由于有一部分指令用到了dockerfile,所以不懂的话,请首先查看dockerfile配置指南一节
attach:    docker attach 允许进入或者直接操作容器
    语法:docker attach [OPTIONS] CONTAINER
    配置指令:
        --help 查看帮助
        --no-stdin=false    
        --sig-proxy=true    
    用法示例:
       [[email protected] ~]# ID=$(docker run -d centos /usr/bin/top -b)
       [[email protected] ~]# docker attach $ID
        top - 06:10:43 up 66 days,  5:00,  0 users,  load average: 0.27, 0.08, 0.10
        Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
        %Cpu(s):  3.7 us,  3.7 sy,  0.0 ni, 88.0 id,  4.7 wa,  0.0 hi,  0.0 si,  0.0 st
        KiB Mem : 16123532 total,  1002016 free,  9646844 used,  5474672 buff/cache
        KiB Swap: 32766968 total, 32103200 free,   663768 used.  6010068 avail Mem 
          PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
            1 root      20   0   51692   1904   1456 R   0.0  0.0   0:00.01 top
build:    从指定路径(URL,dockerfile)创建一个新的镜像
    语法:docker build [OPTIONS] PATH | URL | - 
    配置指令:
        -f --file=PATH/Dockerfile    #指定dockerfile文件路径,dockerfile语法和内容,请参考Docker配置指南(三):Dockerfile
        --rm=true|false    #默认为true,在构建完成后,删除依赖中间容器
        --force-rm=true|false    #默认为false,如果为true,构建无论成功都会强制删除中间容器
        --no-cache=true|false    #创建镜像时默认不使用缓存
        --help    #查看帮助
        --pull=true|false    #默认为false,为true则总是试图获取最新的镜像
        -q --quiet=true|false    #默认为false,为true时不显示详细输出
        -t, --tag=""    #构建成功后,新的镜像会携带此标记
        -m, --memory=MEMORY    #指定使用物理内存上限
        --memory-swap=MEMORY-SWAP    #含swap的总内存上限,-1不使用swap
        -c, --cpu-shares=0    #配置docker容器cpu的权重,默认为0,权重相同。有关资源分配方面的资料,感兴趣的可以自己查看docker的资源分配原理(基于Cgroup)。
        --cpu-period=0    #指定容器对CPU的使用要在多长时间内做一次重新分配,和--cpu-quota一样,是一个完全公平的调度方法
            --cpu-quota=0    #指定在这个周期内,最多可以有多少时间用来跑这个容器,同--cpu-shares不同,这种配置比较固定,容器使用的CPU资源是不会超过这个值的,没有弹性。
        --cpuset-cpus=CPUSET-CPUS    #允许使用的CPU编号(0-3或0,1两种写法)
        --cpuset-mems=CPUSET-MEMS    #只在NUMA系统有效
        --cgroup-parent=CGROUP-PARENT    #使用已创建的容器cgroup路径,如果不存在,则会新创建
    用法示例:docker build Dockerfile_PATH | URL
commit:     提交已改动的镜像
    语法:[-a|--author[=AUTHOR]] [--help] [-c|--change[= []]] [-m|--message[=MESSAGE]] [-p|--pause*[=*true]] CONTAINER [REPOSITORY[:TAG]]
    配置指令:
        --help    #查看帮助
        -a --author=""    #作者
        -c --change=[]    #在提交镜像时使用指定的dockerfile指令,支持类型有:CMD|ENTRYPOINT|ENV|EXPOSE|ONBUILD|USER|VOLUME|WORKDIR
        -m --message=""    #提交说明信息
        -p  --pause==true|false    #默认为true,在commit的时候暂停服务
    用法示例:
        docker commit -a ‘[email protected]‘ -m ‘some massages‘ CONTAINER_ID REPOSITORY:TAG
cp:    将文件或目录从容器内拷贝到宿主机,使用"-"可以将数据输出为一个tar文件
    语法:docker cp [--help] CONTAINER:PATH HOSTDIR|-
    配置指令:
        --help    #查看帮助
    用法示例:
        docker cp CONTAINER_ID:PATH HOSTDIRPATH
create:    创建一个新的容器
    语法: docker    create   [-a|--attach[=[]]]   [--add-host[=[]]]   [--blkio-weight[=[BLKIO-WEIGHT]]]   [-c|--cpu-shares[=0]]   [--cap-add[=[]]]   [--cap-drop[=[]]]   [--cidfile[=CIDFILE]]
       [--cpu-period[=0]]  [--cpuset-cpus[=CPUSET-CPUS]]  [--cpuset-mems[=CPUSET-MEMS]]  [--cpu-quota[=0]]  [--device[=[]]]  [--dns-search[=[]]]  [--dns[=[]]]  [-e|--env[=[]]]   [--entry-
       point[=ENTRYPOINT]]   [--env-file[=[]]]   [--expose[=[]]]   [-h|--hostname[=HOSTNAME]]   [--help]  [-i|--interactive[=false]]  [--ipc[=IPC]]  [-l|--label[=[]]]  [--label-file[=[]]]
       [--link[=[]]]  [--lxc-conf[=[]]]   [--log-driver[=[]]]   [--log-opt[=[]]]   [-m|--memory[=MEMORY]]   [--memory-swap[=MEMORY-SWAP]]   [--mac-address[=MAC-ADDRESS]]   [--name[=NAME]]
       [--net[="bridge"]]    [--oom-kill-disable[=false]]   [-P|--publish-all[=false]]   [-p|--publish[=[]]]   [--pid[=[]]]   [--uts[=[]]]   [--privileged[=false]]   [--read-only[=false]]
       [--restart[=RESTART]] [--security-opt[=[]]] [-t|--tty[=false]] [-u|--user[=USER]] [-v|--volume[=[]]] [--volumes-from[=[]]] [-w|--workdir[=WORKDIR]]  [--cgroup-parent[=CGROUP-PATH]]
       IMAGE [COMMAND] [ARG...]
    配置指令:
        -a, --attach=[]    #附加到stdin,stdout或stderr
        --add-host=[]    #自定义一个主机到IP的映射
        --blkio-weight=0    #block IO权重,可配置范围是10-1000
        -c, --cpu-shares=0    #CPU相对权重
        --cap-add=[]    #添加Linux capabilities
        --cap-drop=[]    #去除linux capabilities
        --cidfile=""    #将container id写入到文件
        --cgroup-parent    --cpu-peroid=0    --cpuset-cpus=""    --cpuset-mems=""    -cpu-quota=0   -m, --memory=""  --memory-swap=""    #这几个选项在build指令中已经有介绍
        --device=[]    #为容器添加一个主机设备 (e.g. --device=/dev/sdc:/dev/xvdc:rwm)
        -dns-search=[]    #设置自定义DNS搜索域 (如果不想使用此功能,使用此配置: --dns-search=. )
        --dns=[]    #设置DNS服务器
        -e, --env=[]    #设置环境变量
        --entrypoint=""    #请参考Docker配置指南(三):Dockerfile
        --env-file=[]    #在以行分隔的文件中读取变量
        --expose=[]    #暴露一个或范围内的端口
        -h, --hostname=""    #设置容器的主机名
        --help    #查看帮助
        -i, --interactive=true|false    #默认为false,即使没有连接也保持标准输入开启
        --ipc=""    #默认是为容器创建一个私有 的命令空间;
            ’container:<name|id>’:    复用其它容器的共享内存、消息队列和信号
            ’host’:    在容器内使用主机的共享内存、消息队列和信号;注意:主机模式将会给容器完全访问共享内存的权限,因此被认为是不安全的
        -l, --label=[]    #添加一个键值对格式的标签
        --label-file=[]    #从一个文件中读取标签,每一个EOL分隔一个标签
        --link=[]    #以别名或者ID的方式添加一个到其它容器的链接
        --lxc-conf=[]    #lxc自定义配置,如--lxc-conf=[lxc.cgroup.cpuset.cpus = 0,1]
        --log-driver="|json-file|syslog|journald|none"    #设置日志驱动,默认为json-file,docker logs命令只支持json-file日志驱动
        --log-opt=[]    #设置日志配置选项
        --mac-address=""    #设置MAC地址
        --name=""        #为容器分配一个名称
        --net="bridge"    #为容器配置网络模式,主要有以下几种模式:
            ’bridge’:    为容器创建一个新的桥接网络
            ’none’: 不为容器配置网络
            ’container:<name|id>’: 复用其它容器的网络
            ’host’:  在容器内使用主机的网络堆栈,同样,这种主机模式将会给容器完全访问本地系统服务的权限,因此被认为是不安全的
        --oom-kill-disable=true|false    #一种linux的内存优化机制,当申请内存后使用时,发现空间不足,则会触发这种机制,大致以先进先出和其存活时长为判断依据,将这部分内存释放后再分配
        -P, --publish-all=true|false    #默认为false,发布所有端口暴露到主机上网络接口的随机端口
        -p, --publish=[]    #发布一个或多个容器的端口到主机上,格式为:ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort
        --pid=host    #设置容器PID模式,host是指在容器内使用主机的PID命名空间
        --uts=host    #设置容器UTS模式,host是指在容器内使用主机的UTS命名空间
        --privileged=true|false    #默认为false,给予此容器扩展权限
        --read-only=true|false    #默认为false,给予此容器只读权限
        --restart="no"    #当容器退出时重启策略(no, on-failure[:max-retry], always)
        --security-opt=[]    #安全配置
        -t, --tty=true|false    #默认为false,分配一个伪tty
        -u, --user=""    #用户名或是用户ID
        -v, --volume=[]    #绑定半挂载一个卷(例如, from the host: -v /host:/container, from Docker: -v /container)
        --volumes-from=[]    #从指定的容器挂载卷
        -w, --workdir=""    #指定容器工作目录
diff:    检查容器上文件系统的变化
    语法:docker diff [--help] CONTAINER
events:    从服务器获取实时消息
    语法:docker events [--help] [-f|--filter[=[]]] [--since[=SINCE]] [--until[=UNTIL]]
    配置指令:
        --help    #查看帮助
        -f --filter=[]    #指定过滤条件
        --since=""    #指定开始时间戳
        --until=""    #指定结束时间戳
exec:    在一个运行中的容器内执行命令
    语法:docker exec [-d|--detach[=false]] [--help] [-i|--interactive[=false]] [-t|--tty[=false]] [-u|--user[=USER]] CONTAINER COMMAND [ARG...]
    配置指令:
        -d --detach=true|false    #默认false,分离模式,在后台执行命令
        --help    #查看帮助
        -i, -interactive=true|false    #默认为false,即使没有连接也保持标准输入开启
        -t, --tty=true|false    #默认为false,分配一个伪tty
        -u, --user=""    #设置用户名或UID,也可以扩展配置GROUP或者GID,类似于:user:group
history:    查看镜像历史(创建,修改)
    语法:docker history [--help] [--no-trunc[=false]] [-q|--quiet[=false]] IMAGE
    配置指令:
        --help    #查看帮助
        -H --human=true|false    #默认为true,人性化显示
        --no-trunc=true|false    #默认为false,不要截断输出,配置为true会显示完整的镜像信息
        -q --quiet=true|false    #默认为false,配置为true时只显示ID信息
images:    列出所有镜像
    语法:docker images [--help] [-a|--all[=false]] [--digests[=false]] [-f|--filter[=[]]] [--no-trunc[=false]] [-q|--quiet[=false]] [REPOSITORY]
    配置指令:
        -a, --all=true|false    #默认为false,默认只显示中间层镜像
        --digests=true|false    #默认为false,为true时显示摘要信息
        -f --filter=[]    #过滤输出条件,比如可以根据标签查找
        --help    #查看帮助
        --no-trunc=true|false    #默认为false,不要截断输出,配置为true会显示完整的镜像信息
        -q --quiet=true|false    #默认为false,配置为true时只显示ID信息
import:    从一个tar包创建镜像
    语法:docker import [-c|--change[= []]] [--help**] URL|- [REPOSITORY[:TAG]]
    配置指令:
        -c=[]    #指定dockerfile配置指令,支持类型有"CMD|ENTRYPOINT|ENV|EXPOSE|ONBUILD|USER|VOLUME|WORKDIR"
    用法示例:
        docker import http://example.com/exampleimage.tgz example/imagerepo    #从一个远程地址导入
        cat exampleimage.tgz | docker import - example/imagelocal    #从一个本地文件导入
        tar -c . | docker import -c="ENV DEBUG true" exampleimagedir    #从一个本地目录导入,并传入dockerfile指令
info:    输出系统侧信息
    语法:docker info [--help]
inspect:    输出更底层的docker镜像或容器信息,返回的是一个json格式的字符串
    语法:docker inspect [--help] [-f|--format[=FORMAT]] CONTAINER|IMAGE [CONTAINER|IMAGE...]
    配置指令:
        --help    #查看帮助
        -f, --format=""    #可以根据返回内容进行过滤,不过需要使用go语言格式
kill:    使用kill标记杀掉一个正在运行的容器,默认为SIGKILL
    语法:docker kill [--help] [-s|--signal[="KILL"]] CONTAINER [CONTAINER...]
    配置指令:
        --help    #查看帮助
        -s, --signal="KILL"    #使用指定kill信号
load:    加载一个打包好的镜像
    语法:docker load [--help] [-i|--input[=INPUT]]
        --help    #查看帮助
        -i, --input=""    #从一个tar包中的档案信息读取
login:    注册或登录到一个docker仓库/注册中心
    语法:docker login [-e|--email[=EMAIL]] [--help] [-p|--password[=PASSWORD]] [-u|--username[=USERNAME]] [SERVER]
    配置指令:
        -e, --email=""    #邮箱
        --help    #查看帮助
        -p, --password=""    #用户名
        -u, --username=""    #密码
logout:    从一个docker仓库/注册中心登出
    语法:docker logout [SERVER]
logs:    取出一个容器的日志
    语法:docker logs [-f|--follow[=false]] [--help] [--since[=SINCE]] [-t|--timestamps[=false]] [--tail[="all"]] CONTAINER
    配置指令:
        --help    #查看帮助
        -f, --follow=true|false    #默认为false,跟踪日志输出
        --since=""    #显示从指定时间戳开始的日志
        -t, --timestamps=true|false    #默认为false,显示时间戳
        --tail="all"    #在日志尾部显示行数,默认为所有日志
时间: 2024-10-17 00:42:49

Docker配置指南(二):指令集(一)的相关文章

Docker配置指南(二):指令集(二)

pause:    停止一个容器的所有进程     语法:ocker pause CONTAINER [CONTAINER...]     port:    列出容器的端口映射,或者查看指定开放端口的NAT映射     语法:docker port [--help] CONTAINER [PRIVATE_PORT[/PROTO]] ps:    列出容器     语法:docker  ps  [-a|--all[=false]]  [--before[=BEFORE]]  [--help]  [

分布式版本管理器Git的基础操作与配置指南&lt;二&gt;

一.Git分支介绍与创建 Git中的分支,其实本质上仅仅是个指向commit对象的可变指针.Git回使用master作为分支的默认名 字,在若干次提交后,你其实已经有了一个指向最后一次提交对象的master分支,它在每次提交的时候 都会自动向前移动. 1.Git分支的创建,切换和删除 git branch 不带参数,它会给出当前所有分支的清单,*表示当前所在的分支 git branch -v 附带显示各个分支最后一次commit信息 git branch testing 创建一个tesing分支

Windows.Server.2008.R2.Active.Directory.配置指南(二)

在林中新建第二个域树 在林中新建第二个(或更多个)域树的方法:先春节此域树中的第一个域,而创建第一个域的方法是碳哥创建第一台域控制器的方法来实现. 选择适当的DNS架构 若要将cisco.com域加入到h3c.com中的话,就必须在创建域控制器dc5.cisco.com时能够通过DNS服务器来找到林中的域命名操作主机,否则无法创建cisco.com.域命名操作主机默认是由林中第一台域控制器扮演 还有早DNS服务器内必须有一个名称为cisco.com的主要查找区域,以便让域cisco.com的域控

P6 EPPM R16.1安装与配置指南(二)

P6 EPPM R16.1安装与配置指南(一) http://www.cnblogs.com/endv/p/5634620.html 1 环境变量配置 2 3 1 新建系统变量JAVA_HOME SET %JAVA_HOME= 4 变量名:JAVA_HOME 5 变量值:C:\Program Files\Java\jre1.8.0_73 6 7 变量名:CLASSPATH 8 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 9 10

Docker配置指南(三):Dockerfile(一)

Dockerfile功能以及其工作流程 docker可以通过自动阅读dockerfile文件建立镜像,dockerfile是一个文本文档型的,所有用户能在命令行进行的操作命令都可以在此定义,从而将这些命令组合起来,并生成一个直接可用的镜像.使用"docker build",用户可以连续执行多个指令,从而实现构建的自动化.本文将会介绍在dockerfile中可以执行的命令参数. docker build命令可以从一个dockerfile或者一个文本构建镜像,构建文本可以是一个本地路径或者

Docker 使用指南 (二)—— 搭建本地仓库

版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/94 来源:腾云阁 https://www.qcloud.com/community 去中央仓库下载镜像有时候非常的慢,所以 docker 本地仓库和 gitlab 类似,都是为了便于公司内部人员的使用. 一.本地安装 本次实验环境:腾讯云服务器 CentOS 6.7 x86_64 # yum install -y python-devel libev

P6 EPPM R16.1安装与配置指南(三)

解压:V137390-01.zip 修改 D:\P6_R161\p6suite\database\dbsetup.bat   的行 SET JAR_FILE_DIR=lib 为:SET JAR_FILE_DIR=D:\P6_R161\p6suite\database\lib 以管理员身份运行 D:\P6_R161\p6suite\database\dbsetup.bat 输入SQL连接相关信息 (进行下步前,参见mssql配置要求) If you are using a Microsoft SQ

Docker实用指南:将Python Web应用容器化

Docker实用指南:将Python Web应用容器化 提供 Zstack社区 前言 Web应用随时可能被攻击者利用来夺取整个主机的权限,这是很常见也是很恐怖的一件事.为了更高的安全性,就需要将不同应用之间进行隔离(尤其是在这些应用属于不同的用户的情况下),然而这种隔离的实现一直是个挑战.到目前为止,隔离性的实现方法已经有了很多,然而它们要么太过昂贵(时间的层面以及资源的层面),要么太过复杂(无论对开发者还是对管理员). 本文将讨论如何让"容器化"的Python Web应用跑在安全的沙

苹果ATS特性服务器证书配置指南

配置指南: 需要配置符合PFS规范的加密套餐,目前推荐配置: ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4 需要在服务端TLS协议中启用TLS1.2,目前推荐配置: TLSv1 TLSv1.1 TLSv1.2 1.Nginx 证书配置 更新Nginx根目录下 conf/nginx.conf 文件如下: server {    ssl_ciphers ECDHE-RSA-AES128-GCM-