设为首页 收藏本站
查看: 691|回复: 0

[经验分享] docker命令详解(二)

[复制链接]

尚未签到

发表于 2018-5-29 08:06:29 | 显示全部楼层 |阅读模式
docker [OPTIONS] command
  Usage: docker [OPTIONS] COMMAND [arg...]
  docker daemon [ --help | ... ]
  docker [ -h | --help | -v | --version ]
  A self-sufficient runtime for containers.
  Options:
  --config=~/.docker             Location of client config files
  -D,--debug=false               Enable debug mode
  -H,--host=[]                   Daemonsocket(s) to connect to
  -h,--help=false                Print usage
  -l,--log-level=info            Set the logginglevel
  --tls=false                     Use TLS; implied by--tlsverify
  --tlscacert=~/.docker/ca.pem   Trust certs signed only by this CA
  --tlscert=~/.docker/cert.pem   Path to TLS certificate file
  --tlskey=~/.docker/key.pem     Path to TLS key file
  --tlsverify=false               Use TLS and verify the remote
    -v, --version=false             Print version information and quit
  

network
  Usage:  docker network [OPTIONS] COMMAND [OPTIONS]
  Commands:
  create                   Create a network
  connect                  Connect container to a network
  disconnect               Disconnect container from a network
  inspect                  Display detailed network information
  ls                       List all networks
  rm                       Remove a network
创建网络
  Usage:  docker network create [OPTIONS] NETWORK-NAME
  Creates a new network with a name specified by the user
  --aux-address=map[]      auxiliary ipv4 or ipv6 addresses used by Network driver
  -d, --driver=bridge      Driver to manage the Network
  --gateway=[]             ipv4 or ipv6 Gateway for the master subnet
  --help=false             Print usage
  --ip-range=[]            allocate container ip from a sub-range
  --ipam-driver=default    IP Address Management Driver
  -o, --opt=map[]          set driver specific options
  --subnet=[]              subnet in CIDR format that represents a network segment
  自定义网络,可指定网段、网关等参数。
  创建一个my_network的网络,--ip-range:指定子网段,--subnet:指定一个网段
  # docker network create -d bridge--ip-range=192.168.1.0/24 --subnet=192.168.1.0/24 my_network
查看网络
  Usage:  docker network inspect [OPTIONS] NETWORK [NETWORK...]
  Displays detailed information on a network
  # docker network inspect my_network
  [
  {
  "Name": "my_network",
  "Id": "414e1dd5d71ea709be885be5c283ed8080c8ca22e9baad0dc242865dd39164fd",
  "Scope": "local",
  "Driver": "bridge",
  "IPAM": {
  "Driver": "default",
  "Config": [
  {
  "Subnet": "192.168.1.0/24",
  "IPRange": "192.168.1.0/24"
  }
  ]
  },
  "Containers": {},
  "Options": {}
  }
  ]
列出网络
  Usage:  docker network ls [OPTIONS]
  Lists networks
  --no-trunc=false     Do not truncate the output
  -q, --quiet=false    Only display numeric IDs
  # docker network ls
  NETWORK ID          NAME                DRIVER
  90b8ebd11e4f        bridge              bridge
  77dd4f913ba1        none                null
  65dfd6ebddab        host                host
  414e1dd5d71e        my_network          bridge
  bridge为默认的网络,172.17.0.0/16网段
  my_network 为自定义的网格
删除网络
  Usage:  docker network rm [OPTIONS] NETWORK
  Deletes a network
  # docker network rm my_network1
连接网络
  Usage:  docker network connect [OPTIONS] NETWORK CONTAINER
  Connects a container to a network
  将指定的网络连接到容器。

  •   创建一个容器,不指定网络,默认会用bridge网络。
  #docker run -it --name=web ubuntu:14.04/bin/bash
  会看到默认有eth0:172.17.0.0/16段
  root@d35ef0bda3fb:/# ifconfig
  eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:02
  inet addr:172.17.0.2  Bcast:0.0.0.0  Mask:255.255.0.0
  inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  RX packets:5 errors:0 dropped:0 overruns:0 frame:0
  TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:0
  RX bytes:418 (418.0 B)  TX bytes:508 (508.0 B)
  lo        Link encap:Local Loopback
  inet addr:127.0.0.1  Mask:255.0.0.0
  inet6 addr: ::1/128 Scope:Host
  UP LOOPBACK RUNNING  MTU:65536  Metric:1
  RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:0
  RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
  2. 将该容器连接到my_network网络
连接到的容器必须是running状态。
  # docker network connect my_network web
  3. 查看容器网络状态
  会看到多出一个eth1:192.168.1.0/24网段
  root@d35ef0bda3fb:/# ifconfig
  eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:02
  inet addr:172.17.0.2  Bcast:0.0.0.0  Mask:255.255.0.0
  inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  RX packets:8 errors:0 dropped:0 overruns:0 frame:0
  TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:0
  RX bytes:648 (648.0 B)  TX bytes:648 (648.0 B)
  

  eth1      Link encap:Ethernet  HWaddr 02:42:c0:a8:01:02
  inet addr:192.168.1.2  Bcast:0.0.0.0  Mask:255.255.255.0
  inet6 addr: fe80::42:c0ff:fea8:102/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  RX packets:8 errors:0 dropped:0 overruns:0 frame:0
  TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:0
  RX bytes:648 (648.0 B)  TX bytes:648 (648.0 B)
  

  lo        Link encap:Local Loopback
  inet addr:127.0.0.1  Mask:255.0.0.0
  inet6 addr: ::1/128 Scope:Host
  UP LOOPBACK RUNNING  MTU:65536  Metric:1
  RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:0
  RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
断开网络
  Usage:  docker network disconnect [OPTIONS] NETWORK CONTAINER
  Disconnects container from a network
  将容器与一个网络断开
  # docker network disconnect my_network web
  断开后该容器不在拥有该网络的地址。
  

pause
  Usage:  docker pause [OPTIONS] CONTAINER [CONTAINER...]
  Pause all processes within a container
  --help=false       Print usage
  暂停容器内的所有进程。
  此时,通过docker stats可以观察到此时的资源使用情况是固定不变的,通过docker logs -f也观察不到日志的进一步输出。
  # docker pause 87cb69be18bb
  容器的状态变为:Up About an hour (Paused)
  docker unpause 重新启动一个容器。
  

port
  Usage:  docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]
  List port mappings or a specific mapping for the CONTAINER
  输出容器端口与宿主机端口的映射情况
  # docker port blog
  80/tcp -> 0.0.0.0:80
  容器blog的内部端口80映射到宿主机的80端口,这样可通过宿主机的80端口查看容器blog提供的服务
  

ps
  Usage:  docker ps [OPTIONS]
  List containers
  -a, --all=false       Show all containers (default shows just running)
  --before=             Show only container created before Id or Name
  -f, --filter=[]       Filter output based on conditions provided
  --format=             Pretty-print containers using a Go template
  --help=false          Print usage
  -l, --latest=false    Show the latest created container, include non-running
  -n=-1                 Show n last created containers, include non-running
  --no-trunc=false      Don't truncate output
  -q, --quiet=false     Only display numeric IDs
  -s, --size=false      Display total file sizes
  --since=              Show created since Id or Name, include non-running
  列出所有容器,其中docker ps用于查看正在运行的容器,ps -a则用于查看所有容器。
  

pull
  Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]
  Pull an image or a repository from a registry
  -a, --all-tags=false            Download all tagged images in the repository
  --disable-content-trust=true    Skip image verification
  --help=false                    Print usage
  从registry中拉取镜像。
  

push
  Usage:  docker push [OPTIONS] NAME[:TAG]
  Push an image or a repository to a registry
  --disable-content-trust=true    Skip image signing
  --help=false                    Print usage
  本地的镜像上传到registry中
  

rename
  Usage:  docker rename [OPTIONS] OLD_NAME NEW_NAME
  Rename a container
  --help=false       Print usage
  更改容器的名字。
  将容器tender_lichterman更名为web1.
  # docker rename tender_lichterman web1
  

restart
  Usage:  docker restart [OPTIONS] CONTAINER [CONTAINER...]
  Restart a container
  --help=false       Print usage
  -t, --time=10      Seconds to wait for stop before killing the container
  重启一个容器。
  

rm
  Usage:  docker rm [OPTIONS] CONTAINER [CONTAINER...]
  Remove one or more containers
  -f, --force=false      Force the removal of a running container (uses SIGKILL)
  --help=false           Print usage
  -l, --link=false       Remove the specified link
  -v, --volumes=false    Remove the volumes associated with the container
  删除容器。不可以删除一个运行中的容器,必须先用docker stop或docker kill使其停止。
  当然可以强制删除,必须加-f参数。
  如果要一次性删除所有容器,可使用 docker rm -f `docker ps -a -q`,其中,-q指的是只列出容器的ID。
  

rmi
  Usage:  docker rmi [OPTIONS] IMAGE [IMAGE...]
  Remove one or more images
  -f, --force=false    Force removal of the image
  --help=false         Print usage
  --no-prune=false     Do not delete untagged parents
  删除一个或多个镜像。
  

save
  Usage:  docker save [OPTIONS] IMAGE [IMAGE...]
  Save an image(s) to a tar archive (streamed to STDOUT by default)
  --help=false       Print usage
  -o, --output=      Write to a file, instead of STDOUT
  将镜像打包,与上面的load命令相对应.
  两种方式:
  # docker save webserver >webserver.tar
  # docker save -o webserver.tar webserver:v1
  

search
  Usage:  docker search [OPTIONS] TERM
  Search the Docker Hub for images
  --automated=false    Only show automated builds
  --help=false         Print usage
  --no-trunc=false     Don't truncate output
  -s, --stars=0        Only displays with at least x stars
  查找镜像。
  

start
  Usage:  docker start [OPTIONS] CONTAINER [CONTAINER...]
  Start one or more stopped containers
  -a, --attach=false         Attach STDOUT/STDERR and forward signals
  --help=false               Print usage
  -i, --interactive=false    Attach container's STDIN
  启动一个或多个停止的镜像。
  启动一个镜像并启动一个交互试的终端。
  # docker start -ia 87cb69be18bb
  root@87cb69be18bb:/# ls
  

stats
  Usage:  docker stats [OPTIONS] CONTAINER [CONTAINER...]
  Display a live stream of container(s) resource usage statistics
  --help=false         Print usage
  --no-stream=false    Disable streaming stats and only pull the first result
  动态显示容器的资源消耗情况,包括:CPU、内存、网络I/O.
  

stop
  Usage:  docker stop [OPTIONS] CONTAINER [CONTAINER...]
  Stop a running container.
  Sending SIGTERM and then SIGKILL after a grace period
  --help=false       Print usage
  -t, --time=10      Seconds to wait for stop before killing it
  停止一个正在运行的容器。
  

tag
  Usage:  docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
  Tag an image into a repository
  -f, --force=false    Force
  --help=false         Print usage
  对repository中的镜像进行重命名。
  

top
  Usage:  docker top [OPTIONS] CONTAINER [ps OPTIONS]
  Display the running processes of a container
  查看容器中正在运行的进程。
  

  # docker top 87cb69be18bb
  UID      PID    PPID      C        STIME     TTY     TIME            CMD
  root     512    679       0        12:59      pts/3   00:00:00        /bin/bash
  

unpause
  Usage:  docker unpause [OPTIONS] CONTAINER [CONTAINER...]
  Unpause all processes within a container
  --help=false       Print usage
  恢复容器内暂停的进程,与pause参数相对应。
  

version
  Usage:  docker version [OPTIONS]
  Show the Docker version information
  -f, --format=      Format the output using the given go template
  --help=false       Print usage
  查看docker版本信息
  

  # docker version
  Client:
  Version:      1.9.1
  API version:  1.21
  Go version:   go1.4.3
  Git commit:   a34a1d5
  Built:        Fri Nov 20 17:56:04 UTC 2015
  OS/Arch:      linux/amd64
  

  Server:
  Version:      1.9.1
  API version:  1.21
  Go version:   go1.4.3
  Git commit:   a34a1d5
  Built:        Fri Nov 20 17:56:04 UTC 2015
  OS/Arch:      linux/amd64
  

volume
  Usage:  docker volume [OPTIONS] [COMMAND]
  Manage Docker volumes
  Commands:
  create                   Create a volume
  inspect                  Return low-level information on a volume
  ls                       List volumes
  rm                       Remove a volume
  管理docker数据卷.
创建数据卷
  Usage:  docker volume create [OPTIONS]
  Create a volume
  -d, --driver=local    Specify volume driver name
  --name=           Specify volume name
  -o, --opt=map[]       Set driver specific options
  1. 创建一个名为data_v的数据卷
# docker volume create --name='data_v'
  2. 创建完数据卷后,其他容器即可挂载该容器。可用于数据共享。
  3. 创建一个容器,把名为data_v的数据卷挂载到容器的/data目录
# docker run -it -v data_v:/data ubuntu:14.04 /bin/bash
查看数据卷
  Usage:  docker volume inspect [OPTIONS] VOLUME [VOLUME...]
  Return low-level information on a volume
  -f, --format=      Format the output using the given go template
  查看刚刚创建的数据卷
  # docker volume inspect data_v
  [
  {
  "Name": "data_v",
  "Driver": "local",
  "Mountpoint": "/var/lib/docker/volumes/data_v/_data"
  }
  ]
列出数据卷
  Usage:  docker volume ls [OPTIONS]
  List volumes
  -f, --filter=[]      Provide filter values (i.e. 'dangling=true')
  -q, --quiet=false    Only display volume names
  # docker volume ls
删除数据卷
Usage:  docker volume rm [OPTIONS] VOLUME [VOLUME...]
  # docker volume rm data_v
  

wait
  Usage:  docker wait [OPTIONS] CONTAINER [CONTAINER...]
  Block until a container stops, then print its exit code
  --help=false       Print usage
  捉容器停止时的退出码。
  执行此命令后,该命令会“hang”在当前终端,直到容器停止,此时,会打印出容器的退出码。
  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-482347-1-1.html 上篇帖子: docker命令详解(一) 下篇帖子: Docker 容器的导入和导出操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表