docker命令详解(二)
docker commandUsage: docker COMMAND
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 COMMAND
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 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 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
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 NETWORK
Deletes a network
# docker network rm my_network1
连接网络
Usage:docker network connect 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:EthernetHWaddr 02:42:ac:11:00:02
inet addr:172.17.0.2Bcast:0.0.0.0Mask:255.255.0.0
inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU:1500Metric: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.1Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNINGMTU:65536Metric: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:EthernetHWaddr 02:42:ac:11:00:02
inet addr:172.17.0.2Bcast:0.0.0.0Mask:255.255.0.0
inet6 addr: fe80::42:acff:fe11:2/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU:1500Metric: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:EthernetHWaddr 02:42:c0:a8:01:02
inet addr:192.168.1.2Bcast:0.0.0.0Mask:255.255.255.0
inet6 addr: fe80::42:c0ff:fea8:102/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU:1500Metric: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.1Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNINGMTU:65536Metric: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 NETWORK CONTAINER
Disconnects container from a network
将容器与一个网络断开
# docker network disconnect my_network web
断开后该容器不在拥有该网络的地址。
pause
Usage:docker pause 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 CONTAINER ]
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
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 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 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 OLD_NAME NEW_NAME
Rename a container
--help=false Print usage
更改容器的名字。
将容器tender_lichterman更名为web1.
# docker rename tender_lichterman web1
restart
Usage:docker restart CONTAINER
Restart a container
--help=false Print usage
-t, --time=10 Seconds to wait for stop before killing the container
重启一个容器。
rm
Usage:docker rm 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 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 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 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 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 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 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 IMAGE[:TAG] NAME[:TAG]
Tag an image into a repository
-f, --force=false Force
--help=false Print usage
对repository中的镜像进行重命名。
top
Usage:docker top CONTAINER
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 CONTAINER
Unpause all processes within a container
--help=false Print usage
恢复容器内暂停的进程,与pause参数相对应。
version
Usage:docker version
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
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
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 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
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 VOLUME # docker volume rm data_v
wait
Usage:docker wait CONTAINER
Block until a container stops, then print its exit code
--help=false Print usage
捉容器停止时的退出码。
执行此命令后,该命令会“hang”在当前终端,直到容器停止,此时,会打印出容器的退出码。
页:
[1]