docker常用命令整理

一、docker常用命令

docker容器生命周期管理

docker run  在一个新的容器执行一个命令

docker start 开一个或者更多已经停止的容器

docker stop 停止一个运行的容器

docker restart 重新开始一个运行的容器

docker kill 杀死一个运行的容器

docker rm 删除一个或更多的容器

docker pause 暂停一个容器的所有进程

docker unpaunse 恢复一个容器的所有进程

docker容器操作运维

docker ps 列出容器

docker inspect 列出关于容器或镜像的底层信息

docker top 显示一个容器运行的进程

docker attach 附上一个运行的容器

docker events 得到实时的来自服务的事件

docker log 获得一个容器的日志

docker wait 阻塞直到一个容器停止,然后打印它的退出代码

docker export 导出一个容器的文件系统作为一个tar文件

docker port 列出容器映射的端口

docker版本管理

docker commit 创建一个新的镜像从一个容器

docker cp 从容器复制一个文件或目录到本地目录或标准输出

docker diff 展示一个容器文件系统的变化

docker镜像仓库

docker login 登入仓库

docker pull 拉取镜像

docker push 推送镜像

docker search 搜索镜像

docker本地镜像管理

docker images 列出本地的镜像

docker rmi 删除本地的镜像

docker tag 打标签本地的镜像

docker build 通过Dockerfile构建本地的镜像

docker histroy 列出镜像的历史

docker save 保存本地的镜像为一个tar文件

docker import 通过tar导入镜像

docker load 加载tar镜像

docker其它命令

docker info

docker version

二、docker私有仓库操作

1.  配置docker daemon的参数,由于每个发行版的linux的init系统不用,所以使用通用的命令行方式重启docker daemon

docker daemon --insecure-registry 192.168.6.65:5000 &

2. 认证私有仓库

docker login -u -p -e 192.168.6.65:5000

3. 拉取镜像

docker pull 192.168.6.65:5000/centos:latest

4. tag本地镜像

docker tag 192.168.6.65:5000/centos:1.0.0 192.168.6.65:5000/centos:latest

5. 推送镜像

docker push 192.168.6.65:5000/centos:1.0.0

6.docker, mac 的镜像目录

/Users/{YourUserName}/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2  保存到文件当中

三、docker run 命令详解

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

-d,--detach=false指定容器运行于前台还是后台,默认为false

-i,--interactive=false打开STDIN,用于控制台交互

-t,--tty=false分配tty设备,该可以支持终端登录,默认为false

-u,--user=""指定容器的用户

-a,--attach=[]            登录容器(必须是以docker run -d启动的容器)

-w,--workdir=""指定容器的工作目录

-c,--cpu-shares=0设置容器CPU权重,在CPU共享场景使用

-e,--env=[]               指定环境变量,容器中可以使用该环境变量

-m,--memory=""指定容器的内存上限

-P,--publish-all=false指定容器暴露的端口

-p,--publish=[]           指定容器暴露的端口

-h,--hostname=""指定容器的主机名

-v,--volume=[]            给容器挂载存储卷,挂载到容器的某个目录

--volumes-from=[]          给容器挂载其他容器上的卷,挂载到容器的某个目录

--cap-add=[]               添加权限,权限清单详见:http://linux.die.net/man/7/capabilities

--cap-drop=[]              删除权限,权限清单详见:http://linux.die.net/man/7/capabilities

--cidfile=""运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法

--cpuset=""设置容器可以使用哪些CPU,此参数可以用来容器独占CPU

--device=[]                添加主机设备给容器,相当于设备直通

--dns=[]                   指定容器的dns服务器

--dns-search=[]            指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件

--entrypoint=""覆盖image的入口点

--env-file=[]              指定环境变量文件,文件格式为每行一个环境变量

--expose=[]                指定容器暴露的端口,即修改镜像的暴露端口

--link=[]                  指定容器间的关联,使用其他容器的IP、env等信息

--lxc-conf=[]              指定容器的配置文件,只有在指定--exec-driver=lxc时使用

--name=""指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字

--net="bridge"容器网络设置:

bridge 使用docker daemon指定的网桥

host    //容器使用主机的网络

container:NAME_or_ID>//使用其他容器的网路,共享IP和PORT等网络资源

none 容器使用自己的网络(类似--net=bridge),但是不进行配置

--privileged=false指定容器是否为特权容器,特权

容器拥有所有的capabilities

--restart="no"指定容器停止后的重启策略:

no:容器退出时不重启

on-failure:容器故障退出(返回值非零)时重启

always:容器退出时总是重启

--rm=false指定容器停止后自动删除容器(不支持以docker run -d启动的容器)

--sig-proxy=true设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理

example:

1.docker run -d--name=server-db -p 3306:3306 centos6.8-mysql /usr/bin/mysql_safe –d

主机3306端口映射到容器3306端口

2.docker run -it --rm  centos6.8  容器结束后自动删除

3.docker run -d--name=server-db -p 3306:3306 -v /server/mysql-data:/mysql-data centos6.8-mysql /usr/bin/mysql_safe –d

将主机的/server/mysql-data 目录映射到容器 /mysql-data 中

四、docker 技巧

1..清理无用的docker容器命令

docker ps -aqf  status=exited | xargs docker rm

2.清理无用镜像的命令

docker images -qf dangling=true | xargs docker rmi

3.清理无用的docker挂载

docker volume rm $(docker volume ls -q -f dangling=true)

dockerignore使用

类似.gitignore一样,运行Dockerfile里的COPY指令的时候会根据.dockerignore进行部分目录或者文件忽略。

docker的架构如下图 : 

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

推荐阅读更多精彩内容