docker 經常使用操做-學習筆記

1 進入容器html

[root@localhost ~]# docker ps 
CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS              PORTS               NAMES
dcd05bed40d6        ansible/centos7-ansible   "/bin/bash"         37 seconds ago      Up 35 seconds                           nginx

啓動nginx

[root@localhost ~]# docker start nginx
nginx
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS              PORTS               NAMES
dcd05bed40d6        ansible/centos7-ansible   "/bin/bash"         3 minutes ago       Up 20 seconds  
                   nginx

進入docker

[root@localhost ~]# docker exec -it dcd05bed40d6 /bin/bash
[root@dcd05bed40d6 ansible]# exit
exit
[root@localhost ~]# docker exec -it nginx /bin/bash
[root@dcd05bed40d6 ansible]# exit
exit

exec 表示在一個運行的容器中執行命令,參數-i,表示交互式執行,-t表示分配一個僞終端tty,
容器的名稱和id均可以,一般都是執行的命令,分配到一個shell容器執行命令,通常都是/bin/bashshell

二、 查看容器的日誌centos

[root@localhost /]# docker logs nginx
172.17.0.1 - - [31/Jul/2018:09:27:21 +0000] "HEAD / HTTP/1.1" 200 0 "-" "curl/7.29.0" "-"
[root@localhost /]# docker logs nginx
172.17.0.1 - - [31/Jul/2018:09:27:21 +0000] "HEAD / HTTP/1.1" 200 0 "-" "curl/7.29.0" "-"
[root@localhost /]# docker logs nginx >nginxaccess.log
[root@localhost /]# more nginxaccess.log 
172.17.0.1 - - [31/Jul/2018:09:27:21 +0000] "HEAD / HTTP/1.1" 200 0 "-" "curl/7.29.0" "-"

3 啓動,中止 重啓容器bash

[root@localhost /]# docker stop nginx
nginx
[root@localhost /]# docker start nginx
nginx
[root@localhost /]# docker restart nginx
nginx
[root@localhost /]# 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
[root@localhost /]# docker logs nginx
172.17.0.1 - - [31/Jul/2018:09:27:21 +0000] "HEAD / HTTP/1.1" 200 0 "-" "curl/7.29.0" "-"

nginx實例操做網絡

  1. 端口映射
    [root@localhost /]# 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
    [root@localhost /]# docker images
    REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
    nginx                     latest              c82521676580        6 days ago          109MB
    ansible/centos7-ansible   latest              688353a31fde        19 months ago       447MB
    [root@localhost /]# docker run -itd --name nginx  -p 80:80  docker.io/nginx
    6af5902d98c086d28964e09669347a74354436d06eb8620f6a6bc65064974d8e
    [root@localhost /]# 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
    [root@localhost /]# 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
    [root@localhost /]# netstat -ntlp | grep 80
    tcp6       0      0 :::80                   :::*                    LISTEN      2605/docker-proxy   
    [root@localhost /]# docker port nginx
    80/tcp -> 0.0.0.0:80

首先從公共倉庫中獲取到nginx的鏡像,pull下載到本地;docker image查看本地鏡像,而後根據鏡像建立一個docker的實例,也就是容器nginx,而後運行實例,請求這個端口獲得結果,查看本機已經監聽了這個端口,docker port主要用來查看端口的映射關係。curl

2 查看網絡tcp

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
[root@localhost ~]# ifconfig docker0
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:78ff:fe60:4792  prefixlen 64  scopeid 0x20<link>
        ether 02:42:78:60:47:92  txqueuelen 0  (Ethernet)
        RX packets 195570  bytes 14682556 (14.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 184822  bytes 104464536 (99.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# 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/-ePfdqp114JXjeNyrl7CxAide

相關文章
相關標籤/搜索