zhangbinmy 发表于 2019-2-21 09:11:38

docker 常用操作

  1 进入容器

# docker ps
CONTAINER ID      IMAGE                     COMMAND             CREATED             STATUS            PORTS               NAMES
dcd05bed40d6      ansible/centos7-ansible   "/bin/bash"         37 seconds ago      Up 35 seconds                           nginx
  启动

# docker start nginx
nginx
# docker ps
CONTAINER ID      IMAGE                     COMMAND             CREATED             STATUS            PORTS               NAMES
dcd05bed40d6      ansible/centos7-ansible   "/bin/bash"         3 minutes ago       Up 20 seconds
nginx
  进入

# docker exec -it dcd05bed40d6 /bin/bash
# exit
exit
# docker exec -it nginx /bin/bash
# exit
exit
  exec 表示在一个运行的容器中执行命令,参数-i,表示交互式执行,-t表示分配一个伪终端tty,
容器的名称和id都可以,通常都是执行的命令,分配到一个shell容器执行命令,一般都是/bin/bash
  2、 查看容器的日志


# docker logs nginx
172.17.0.1 - - "HEAD / HTTP/1.1" 200 0 "-" "curl/7.29.0" "-"
# docker logs nginx
172.17.0.1 - - "HEAD / HTTP/1.1" 200 0 "-" "curl/7.29.0" "-"
# docker logs nginx >nginxaccess.log
# more nginxaccess.log
172.17.0.1 - - "HEAD / HTTP/1.1" 200 0 "-" "curl/7.29.0" "-"
  3 启动,停止 重启容器

# docker stop nginx
nginx
# docker start nginx
nginx
# docker restart nginx
nginx
# docker ps
CONTAINER ID      IMAGE                     COMMAND                  CREATED             STATUS            PORTS                NAMES
6af5902d98c0      nginx                     "nginx -g 'daemon of…"   5 minutes ago       Up 5 seconds      0.0.0.0:80->80/tcp   nginx
4bc701965bca      ansible/centos7-ansible   "/bin/bash"            34 minutes ago      Up 34 minutes                            ws
# docker logs nginx
172.17.0.1 - - "HEAD / HTTP/1.1" 200 0 "-" "curl/7.29.0" "-"
  nginx实例操作


[*]端口映射
# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
be8881be8156: Pull complete
32d9726baeef: Pull complete
87e5e6f71297: Pull complete
Digest: sha256:d85914d547a6c92faa39ce7058bd7529baacab7e0cd4255442b04577c4d1f424
Status: Downloaded newer image for nginx:latest
# docker images
REPOSITORY                TAG               IMAGE ID            CREATED             SIZE
nginx                     latest            c82521676580      6 days ago          109MB
ansible/centos7-ansible   latest            688353a31fde      19 months ago       447MB
# docker run -itd --name nginx-p 80:80docker.io/nginx
6af5902d98c086d28964e09669347a74354436d06eb8620f6a6bc65064974d8e
# docker ps
CONTAINER ID      IMAGE                     COMMAND                  CREATED             STATUS            PORTS                NAMES
6af5902d98c0      nginx                     "nginx -g 'daemon of…"   48 seconds ago      Up 47 seconds       0.0.0.0:80->80/tcp   nginx
# curl -I localhost:80
HTTP/1.1 200 OK
Server: nginx/1.15.2
Date: Tue, 31 Jul 2018 09:27:21 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 24 Jul 2018 13:02:29 GMT
Connection: keep-alive
ETag: "5b572365-264"
Accept-Ranges: bytes
# netstat -ntlp | grep 80
tcp6       0      0 :::80                   :::*                  LISTEN      2605/docker-proxy   
# docker port nginx
80/tcp -> 0.0.0.0:80
  首先从公共仓库中获取到nginx的镜像,pull下载到本地;docker image查看本地镜像,然后根据镜像创建一个docker的实例,也就是容器nginx,然后运行实例,请求这个端口得到结果,查看本机已经监听了这个端口,docker port主要用来查看端口的映射关系。
  2 查看网络

# ip a
1: lo:mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno1:mtu 1500 qdisc mq state UP qlen 1000
link/ether 08:94:ef:18:b0:8f brd ff:ff:ff:ff:ff:ff
inet 192.168.10.138/24 brd 192.168.10.255 scope global eno1
valid_lft forever preferred_lft forever
inet6 fe80::a94:efff:fe18:b08f/64 scope link
valid_lft forever preferred_lft forever
3: eno2:mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 08:94:ef:18:b0:90 brd ff:ff:ff:ff:ff:ff
4: eno3:mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 08:94:ef:18:b0:91 brd ff:ff:ff:ff:ff:ff
5: eno4:mtu 1500 qdisc mq state DOWN qlen 1000
link/ether 08:94:ef:18:b0:92 brd ff:ff:ff:ff:ff:ff
6: enp0s20u1u5:mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 0a:94:ef:18:b0:96 brd ff:ff:ff:ff:ff:ff
7: docker0:mtu 1500 qdisc noqueue state UP
link/ether 02:42:78:60:47:92 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:78ff:fe60:4792/64 scope link
valid_lft forever preferred_lft forever
33: vethea9786a@if32:mtu 1500 qdisc noqueue master docker0 state UP
link/ether 4a:b6:db:6f:15:e7 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::48b6:dbff:fe6f:15e7/64 scope link
valid_lft forever preferred_lft forever
47: vetha11f427@if46:mtu 1500 qdisc noqueue master docker0 state UP
link/ether f6:4d:ab:6b:8e:3e brd ff:ff:ff:ff:ff:ff link-netnsid 1
inet6 fe80::f44d:abff:fe6b:8e3e/64 scope link
valid_lft forever preferred_lft forever
# ifconfig docker0
docker0: flags=4163mtu 1500
inet 172.17.0.1netmask 255.255.0.0broadcast 172.17.255.255
inet6 fe80::42:78ff:fe60:4792prefixlen 64scopeid 0x20
ether 02:42:78:60:47:92txqueuelen 0(Ethernet)
RX packets 195570bytes 14682556 (14.0 MiB)
RX errors 0dropped 0overruns 0frame 0
TX packets 184822bytes 104464536 (99.6 MiB)
TX errors 0dropped 0 overruns 0carrier 0collisions 0
# docker network inspect bridge
[
{
"Name": "bridge",
"Id": "6bdcec432a070b1e29a03ad5c706fd0aff49fd25bb9d0af139ae5c3f617c641e",
"Created": "2018-07-31T11:32:44.832618166+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"4bc701965bca81f89b684a2aa2c320c0f2bb48e14a29f99f80e5d5bfa877df06": {
"Name": "ws",
"EndpointID": "5b0020a6cdb814dc7dff1c780fd86a8898c1172ca0d6269333d48e51d008cc7c",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
},
"6af5902d98c086d28964e09669347a74354436d06eb8620f6a6bc65064974d8e": {
"Name": "nginx",
"EndpointID": "ade30754ab51e3e53008caac9affc0cb542e3316594cac0c623a8c75c200be2d",
"MacAddress": "02:42:ac:11:00:03",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
  参考https://mp.weixin.qq.com/s/-ePfdqp114JXjeNyrl7CxA



页: [1]
查看完整版本: docker 常用操作