运维之我的docker-docker命令参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维之我的docker-docker命令参数相关的知识,希望对你有一定的参考价值。

这里介绍一下docker常用的一些命令

docker

                ps        容器列表

                run      运行容器

        -d  守护进程运行(后台运行)

                  -t        分配制个伪tty

                 -i   开发输入

               

                  -P       0.0.0.08180映射容器内的端口到0.0.0.081端口

                  -a   --attach=[]追加一个标准的输入输出

                  --net="bridge" 设置容器的网络模式<

             brige桥接模式

                              none无网络模式

                              container:<name|id> 复用另一个容器网络

                               host完全使用容器本地的网络

                 --network=my-bridge   给容器使用指定网络

                  -P      标志将容器中任何所需的网络端口映射到您的主机。 这使您可以查看Web应用程序。

                  --rm  当容器退出以后自动删除容器的文件系统,除非匿名数据卷。

                  -m 512M   配置限制内存512M

                 --restart=always     当容器退出时docker自动重启它

                --restart=on-failure:10     当容器退出20次不再重启

                 --name=[容器名]       指定容器名

                --blkio-weight 300        IO权重

 

                  attach  后面加容器ID进入容器

                  exec    容器里面执行操作

                  pause 暂停容器内的所有进程

                  unpause 启动一个暂停的容器

                  inspect 查看容器配置信息

                  port  查看容器的端口映射关系

                  logs -f 查看容器服务日志输出

                  top   查看容器内进程

                  stop  礼貌停止容器

                  start  启动一个已有的容器


下面使用实际执行为大家演示:

查看docker各个组件列表

查看运行容器列表

[[email protected] salt]# docker ps
CONTAINER ID        IMAGE                                                                                                                    COMMAND                  CREATED             STATUS              PORTS               NAMES
3bb54e0aabc8        redis   "/bin/sh -c ‘/usr/..."   12 hours ago        Up 12 hours         6379/tcp            redis3.3.ixqiak9t5tw9ktuvsoyksj5nm
b37115d7d875        redis   "/bin/sh -c ‘/usr/..."   13 hours ago        Up 13 hours         6379/tcp            redis3.1.w0jjjrdr25ehcorm3tkoxcrci
87f639892fcf        redis   "/bin/sh -c ‘/usr/..."   25 hours ago        Up 25 hours         6379/tcp            redis3.2.y2tpi5kpfz0v42ax28rucql2v

查看网络列表

[[email protected]
.docker]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
b60c9e065473        bridge              bridge              local              
a603808ad4ba        host                host                local              
48d3687c03f0        none                null                local

 查看swarm service列表

[[email protected] salt]# docker service ls
ID            NAME    MODE        REPLICAS  IMAGE
ig4hg5e8233r  redis3  replicated  5/5       registry.cn-hangzhou.aliyuncs.com/forker/redis:latest


   查看swarm 节点列表

[[email protected] salt]# docker node ls
ID                           HOSTNAME    STATUS  AVAILABILITY  MANAGER STATUS
2pzv4kzc2p8f7c4wqlfupp9h9 *  salt-node1  Ready   Active        Leader
g36lvv23ypjd8v7ovlst2n3yt    salt-node3  Ready   Active        
h14re9viizbs5yj3zunuo9zo8    salt-node2  Ready   Active


 

 

查看容器映射的端口

 

[[email protected]
etc]# docker port 0c3f9644bbde
80/tcp ->
0.0.0.0:81

 

查看容器日志输出

 

[[email protected]de2
etc]# docker logs -f 0c3f9644bbde
192.168.81.1 - -
[10/Oct/2015:08:58:51 +0000] "GET / HTTP/1.1" 200 612 "-"
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101
Firefox/41.0" "-"
[[email protected]
etc]# docker top 0c3f9644bbde
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                110825              107711              0                   16:57               ?                   00:00:00            nginx: master process nginx -g
daemon off;
104                 110857              110825              0                   16:57               ?                   00:00:00            nginx: worker process

 

关闭容器

[[email protected]
~]# docker stop 0c3f9644bbde
0c3f9644bbde

 

在容器内执行命令

docker exec -i
d2a6cd962775 /bin/sh

 

直接创建虚拟终端并接受标准输入

docker
 run -i -t image_name


 

健康检测

$ docker run
--name=test -d     --health-cmd=‘stat /etc/passwd ||
exit 1‘     --health-interval=2s     busybox sleep 1d
$ sleep 2; docker inspect --format=‘{{.State.Health.Status}}‘ test
healthy


本文出自 “运维之我的历程” 博客,请务必保留此出处http://nginxs.blog.51cto.com/4676810/1894400

以上是关于运维之我的docker-docker命令参数的主要内容,如果未能解决你的问题,请参考以下文章

运维之我的docker-运行你第一个镜像实例-docker容器

运维之我的docker-python sdk

运维之我的docker-集群的管理-swarm

运维之我的docker-compose快速创建zookeeper集群

运维之我的docker(文章教程汇总)

运维之我的docker-部署私有仓库Registry