docker常用命令使用

Docker常用命令使用

  • docker ps

    列出容器

    使用语法:

    docker ps [options]
    
    options参数说明:
    -a :显示所有的容器,包括未运行的。
    -f :根据条件过滤显示的内容。
    --format :指定返回值的模板文件。
    -l :显示最近创建的容器。
    -n :列出最近创建的n个容器。
    --no-trunc :不截断输出。
    -q :静默模式,只显示容器编号。
    -s :显示总的文件大小。
    

    ex:

    #列出所有正在运行的容器
    docker ps
    #列出所有容器
    docker ps -a
    #根据容器的Status过滤
    docker ps -f STATUS=created
    #列出最近创建的3个容器
    docker ps -n 3
    
  • docker run

    创建一个新的容器并运行一个命令

    使用语法:

    docker run [options] image [command] [arguments]
    
    options参数说明:
    -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
    -d: 后台运行容器,并返回容器ID;
    -i: 以交互模式运行容器,通常与 -t 同时使用;
    -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    --name="hadoop01": 为容器指定一个名称;
    --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
    --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
    -h "zhq": 指定容器的hostname;
    -e username="zhaoheqiang": 设置环境变量;
    --env-file=[]: 从指定文件读入环境变量;
    --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
    -m :设置容器使用内存最大值;
    -net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
    --link=[]: 添加链接到另一个容器;
    --expose=[]: 开放一个端口或一组端口;
    -p 将容器的端口映射到主机的某个端口
    -P 将容器的80端口映射到主机的任意一个端口
    -v 指定主机某目录映射到容器某个目录
    

    ex:

    #使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为ruby_nginx。
    docker run --name ruby_nginx -d ruby:latest
    
    #使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
    docker run -P -d nginx:latest
    
    #使用镜像nginx:latest以后台模式启动一个容器,将容器的80端口映射到主机的80端口,主机的目录/data映射到容器的/data。
    docker run -p 80:80 -v /data:/data -d nginx:latest
    
    #使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
    docker run -it nginx:latest /bin/bash
    
  • docker start/stop/restart/pause/unpause

    启动容器/停止容器/重启容器/暂停容器中所有的进程/恢复容器中所有的进程

    使用语法

    docker start/stop/restart/pause/unpause [container]
    

    ex:

    #启动nginx容器
    docker start nginx
    
    #停止nginx容器
    docker stop nginx
    
    #重启nginx容器
    docker restart nginx
    
    #暂停数据库容器mysql提供服务。
    docker pause mysql
    
    #恢复数据库容器mysql提供服务。
    docker unpause mysql
    
  • docker kill

    杀掉一个或多个运行中的容器

    使用语法

    docker kill [options] container 
    options参数说明:
    -s :向容器发送一个信号 默认是KILL
    

    ex:

    #杀死运行中的nginx容器
    docker kill -s KILL nginx / docker kill nginx
    
  • docker rm

    删除一个或多少容器

    使用语法

    docker rm [options] container 
    options参数说明:
    -f :通过SIGKILL信号强制删除一个运行中的容器
    -l :移除容器间的网络连接,而非容器本身
    -v :删除与容器关联的卷
    

    ex:

    #强制删除centos容器
    docker rm -f centos
    
    #移除容器nginx对容器mysql的连接,连接名database
    docker rm -l database
    
    #删除容器nginx,并删除容器挂载的数据卷
    docker rm -v nginx
    
  • docker create

    创建一个新的容器但不启动它

    使用语法

    docker create [options] image [command] [arguments]
    

    ex:
    参照docker run

  • docker exec

    在运行的容器中执行命令

    使用语法

    docker exec [options] container command [arguments]
    options参数说明:
    -d :分离模式: 在后台运行
    -i :即使没有附加也保持STDIN 打开
    -t :分配一个伪终端
    

    ex:

    #在容器nginx中以交互模式执行容器内/root/run.sh脚本
    docker exec -it nginx /bin/sh /root/run.sh
    
    #在容器nginx中开启一个交互模式的终端
    docker exec -it nginx /bin/bash
    
  • docker inspect

    获取容器/镜像的元数据

    使用语法

    docker inspect [options] name|id
    options参数说明:
    -f :指定返回值的模板文件。
    -s :显示总的文件大小。
    --type :为指定类型返回JSON。
    

    ex:

    #获取镜像nginx的元信息
    docker inspect nginx
    #获取正在运行的容器mysql的IP
    docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql
    
  • docker attach

    连接到正在运行中的容器

    使用语法

    docker attach [options] container
    

    ex:

    #进入nginx容器
    docker attach nginx
    
  • docker commit

    从容器创建一个新的镜像

    使用语法

    docker commit [options] container [repository[:tag]]
    options参数说明:
    -a :提交的镜像作者;
    -c :使用Dockerfile指令来创建镜像;
    -m :提交时的说明文字;
    -p :在commit时,将容器暂停。
    

    ex:

    docker commit -a "zhaoheqiang" -m "init_Java_web_enviroment" a4987c6c174a2  JavaWeb:1.0.0
    
  • docker cp

    用于容器与主机之间的数据拷贝

    使用语法

    docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
    docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
    

    ex:

    #将主机/www/soft目录拷贝到容器centos的/www目录下。
    docker cp /www/soft centos:/www/
    
    #将主机/www/soft目录拷贝到容器centos中,目录重命名为soft。
    docker cp /www/soft centos:/soft
    
    #将容器centos的/soft目录拷贝到主机的/tmp目录中。
    docker cp centos:/soft /test/
    
  • docker diff

    检查容器里文件结构的更改。

    使用语法

    docker diff 容器名
    

    ex:

    #查看容器nginx的文件目录
    docker diff nginx
    
  • docker pull

    从镜像仓库中拉取或者更新指定镜像

    使用语法

    docker pull [options] name[:tag]
    options参数说明:
    -a :下载所有已经打过标签的镜像
    --disable-content-trust :忽略镜像的校验,默认开启
    

    ex:

    #获取java最新版镜像。
    docker pull java
    
    #获取java的所有镜像。
    docker pull -a java
    
  • docker push

    将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

    使用语法

    docker push [options] name[:tag]
    options参数说明:
    --disable-content-trust :忽略镜像的校验,默认开启
    

    ex:

    #上传javaweb环境1.0.1镜像到远程镜像库
    docker push javaWeb:1.0.1
    
  • docker search

    查找某个镜像

    使用语法

    docker search imageName
    
  • docker images

    查看本地镜像

  • docker rmi

    删除本地一个或多少镜像

    使用语法

    docker rmi [options] image [image...]
    options参数说明:
    -f :强制删除;
    --no-prune :不移除该镜像的过程镜像,默认移除
    

    ex:

    强制删除本地镜像zhaoheqiang/centos:1.0。
    docker rmi -f zhaoheqiang/centos:1.0
    
  • docker tag

    标记本地镜像,将其归入某一仓库

    使用语法

    docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
    

    ex:

    #将镜像ubuntu:15.10标记为 zhaoheqiang/ubuntu:v5 镜像
    docker tag ubuntu:15.10 zhaoheqiang/ubuntu:v5
    
  • docker build

    使用Dockerfile创建镜像
    详细使用方法 参考:http://blog.csdn.net/rznice/article/details/52211620?yyue=a21bo.50862.201879

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容