1. 程式人生 > >Docker配置calico網路

Docker配置calico網路

Calico網路簡介

Calico為容器和虛擬機器工作負載提供安全的網路連線。
Calico建立並管理平面第3層網路,為每個工作負載分配完全可路由的IP地址。工作負載可以在沒有IP封裝或網路地址轉換的情況下進行通訊,以實現裸機效能,簡化故障排除和更好的互操作性。在需要overlay的環境中,Calico使用IP-in-IP隧道技術,或者可以與flannel等其他覆蓋網路配合使用。
Calico還提供網路安全規則的動態實施。使用Calico的簡單策略語言,您可以實現對容器,虛擬機器工作負載和裸機主機端點之間通訊的細粒度控制。
Calico在大規模生產方面經過驗證,可與Kubernetes,OpenShift,Docker,Mesos,DC / OS和OpenStack整合。

實驗環境描述

Calico 依賴 etcd 在不同主機間共享和交換資訊,儲存 Calico 網路狀態。我們將在 host 192.168.92.56上執行 etcd。
Calico 網路中的每個主機都需要執行 Calico 元件,提供容器 interface 管理、動態路由、動態 ACL、報告狀態等功能。
實驗環境如下圖所示:
在這裡插入圖片描述
主機節點:
192.168.92.56 etcd 安裝docker+etcd
192.168.92.57 host1 安裝docker+ calicoctl
192.168.92.58 host2 安裝docker+ calicoctl
軟體版本:
calicoctl(version v1.6.5) etcdctl(version: 3.2.22) docker(version:18.09.0-ce)
修改三個節點的主機名

    [[email protected] ~]# hostnamectl --static set-hostname etcd
    [[email protected] ~]# hostnamectl --static set-hostname host1
    [[email protected] ~]# hostnamectl --static set-hostname host2

在三臺主機上都要設定hosts:

    [[email protected] ~]# vim /etc/hosts
    192.168.92.56     etcd 
    192.168.92.57     host1
    192.168.92.58     host2 

關閉三臺主機的防火牆
若開啟iptables防火牆,則需要開啟2380埠通訊。

    [[email protected] ~]# systemctl disable firewalld.service
    [[email protected] ~]# systemctl stop firewalld.service
    [[email protected] ~]# iptables -F
    [[email protected] ~]# firewall-cmd --state
    not running

安裝etcd

在etcd主機上安裝etcd

    [[email protected] ~]# yum install -y etcd

修改etcd配置檔案:

    [[email protected] ~]# vim /etc/etcd/etcd.conf 
    #[Member]
    #ETCD_CORS=""
    ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
    #ETCD_WAL_DIR=""
    #ETCD_LISTEN_PEER_URLS="http://localhost:2380"
    ETCD_LISTEN_CLIENT_URLS="http://192.168.92.56:2379"
    ......
    ETCD_ADVERTISE_CLIENT_URLS="http://192.168.92.56:2379"
    ......

啟動etcd服務

    [[email protected] ~]# systemctl start etcd && systemctl enable etcd

檢視版本

    [[email protected] ~]# etcdctl -version
    etcdctl version: 3.2.22
    API version: 2
    [[email protected] ~]# 

修改docker配置檔案連線etcd
修改 host1 和 host2 的 Docker daemon 配置檔案
連線 etcd:–cluster-store=etcd://192.168.92.56:2379

    [[email protected] ~]# vim /etc/docker/daemon.json
    {
      "registry-mirrors": ["http://f1361db2.m.daocloud.io"],
      "cluster-store": "etcd://192.168.92.56:2379"
    }

說明:第一行的registry-mirrors是配置docker映象加速以後自動新增的。
重啟 Docker daemon

    systemctl daemon-reload && systemctl restart docker.service

檢視配置是否正確

    [[email protected] ~]# docker info | grep "Cluster Store"
    Cluster Store: etcd://192.168.92.56:2379
    [[email protected] ~]# 

部署calicoctl

官方參考文件:https://docs.projectcalico.org/v2.6/getting-started/docker/installation/manual
在host1和host2上下載calicoctl並執行calico容器。
下載calicoctl

    [[email protected] ~]# wget -O /usr/local/bin/calicoctl https://github.com/projectcalico/calicoctl/releases/download/v1.6.5/calicoctl
    [[email protected] ~]# chmod +x /usr/local/bin/calicoctl
    [[email protected] ~]# /usr/local/bin/calicoctl --version
    calicoctl version v1.6.5, build 614fcf12

建立calico容器
首先建立calico配置檔案

    [[email protected] ~]# mkdir /etc/calico/
    [[email protected] ~]# vim /etc/calico/calicoctl.cfg
    apiVersion: v1
    kind: calicoApiConfig
    metadata:
    spec:
      datastoreType: "etcdv2"
      etcdEndpoints: "http://192.168.92.56:2379"

分別在兩個節點上建立calico容器,執行後會自動下載calico映象並執行容器,下載映象可能較慢,建議配置映象加速,啟動過程如下:

    [[email protected] ~]# calicoctl node run --node-image=quay.io/calico/node:v2.6.12 -c /etc/calico/calicoctl.cfg
    Running command to load modules: modprobe -a xt_set ip6_tables
    Enabling IPv4 forwarding
    Enabling IPv6 forwarding
    Increasing conntrack limit
    Removing old calico-node container (if running).
    Running the following command to start calico-node:
    
    docker run --net=host --privileged --name=calico-node -d --restart=always -e NODENAME=host1 -e CALICO_NETWORKING_BACKEND=bird -e CALICO_LIBNETWORK_ENABLED=true -e ETCD_ENDPOINTS=http://192.168.92.56:2379 -v /var/log/calico:/var/log/calico -v /var/run/calico:/var/run/calico -v /lib/modules:/lib/modules -v /run:/run -v /run/docker/plugins:/run/docker/plugins -v /var/run/docker.sock:/var/run/docker.sock quay.io/calico/node:v2.6.12
    
    Image may take a short time to download if it is not available locally.
    Container started, checking progress logs.
    
    2018-11-20 09:38:51.800 [INFO][8] startup.go 173: Early log level set to info
    2018-11-20 09:38:51.801 [INFO][8] client.go 202: Loading config from environment
    2018-11-20 09:38:51.801 [INFO][8] startup.go 83: Skipping datastore connection test
    2018-11-20 09:38:51.811 [INFO][8] startup.go 259: Building new node resource Name="host1"
    2018-11-20 09:38:51.811 [INFO][8] startup.go 273: Initialise BGP data
    2018-11-20 09:38:51.812 [INFO][8] startup.go 467: Using autodetected IPv4 address on interface ens33: 192.168.92.57/24
    2018-11-20 09:38:51.812 [INFO][8] startup.go 338: Node IPv4 changed, will check for conflicts
    2018-11-20 09:38:51.814 [INFO][8] etcd.go 430: Error enumerating host directories error=100: Key not found (/calico) [11]
    2018-11-20 09:38:51.814 [INFO][8] startup.go 530: No AS number configured on node resource, using global value
    2018-11-20 09:38:51.816 [INFO][8] etcd.go 105: Ready flag is now set
    2018-11-20 09:38:51.817 [INFO][8] client.go 133: Assigned cluster GUID ClusterGUID="6608d7fcd5934b86af326f9570763e05"
    2018-11-20 09:38:51.832 [INFO][8] startup.go 419: CALICO_IPV4POOL_NAT_OUTGOING is true (defaulted) through environment variable
    2018-11-20 09:38:51.832 [INFO][8] startup.go 659: Ensure default IPv4 pool is created. IPIP mode: off
    2018-11-20 09:38:51.834 [INFO][8] startup.go 670: Created default IPv4 pool (192.168.0.0/16) with NAT outgoing true. IPIP mode: off
    2018-11-20 09:38:51.835 [INFO][8] startup.go 419: FELIX_IPV6SUPPORT is true (defaulted) through environment variable
    2018-11-20 09:38:51.835 [INFO][8] startup.go 626: IPv6 supported on this platform: true
    2018-11-20 09:38:51.835 [INFO][8] startup.go 419: CALICO_IPV6POOL_NAT_OUTGOING is false (defaulted) through environment variable
    2018-11-20 09:38:51.835 [INFO][8] startup.go 659: Ensure default IPv6 pool is created. IPIP mode: off
    2018-11-20 09:38:51.837 [INFO][8] startup.go 670: Created default IPv6 pool (fd80:24e2:f998:72d6::/64) with NAT outgoing false. IPIP mode: off
    2018-11-20 09:38:51.886 [INFO][8] startup.go 131: Using node name: host1
    2018-11-20 09:38:51.967 [INFO][13] client.go 202: Loading config from environment
    Starting libnetwork service
    Calico node started successfully
    [[email protected] ~]# 

1.設定主機網路,例如 enable IP forwarding。
2.下載並啟動 calico-node 容器,calico 會以容器的形式執行(與 weave 類似)。

[[email protected] ~]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
quay.io/calico/node   v2.6.12             401cc3e56a1a        10 days ago         281MB
[[email protected]ost1 ~]# docker ps
CONTAINER ID        IMAGE                         COMMAND             CREATED             STATUS              PORTS               NAMES
5903e0254caf        quay.io/calico/node:v2.6.12   "start_runit"       18 minutes ago      Up 18 minutes                           calico-node
[[email protected] ~]#

3.連線 etcd。
4.calico 啟動成功。

檢視calico執行狀態

    [[email protected] ~]# calicoctl node status
    Calico process is running.
    
    IPv4 BGP status
    +---------------+-------------------+-------+----------+-------------+
    | PEER ADDRESS  |     PEER TYPE     | STATE |  SINCE   |    INFO     |
    +---------------+-------------------+-------+----------+-------------+
    | 192.168.92.58 | node-to-node mesh | up    | 09:42:58 | Established |
    +---------------+-------------------+-------+----------+-------------+
    
    IPv6 BGP status
    No IPv6 peers found.
    
    [[email protected] ~]# 
    [[email protected] ~]# calicoctl node status
    Calico process is running.
    
    IPv4 BGP status
    +---------------+-------------------+-------+----------+-------------+
    | PEER ADDRESS  |     PEER TYPE     | STATE |  SINCE   |    INFO     |
    +---------------+-------------------+-------+----------+-------------+
    | 192.168.92.57 | node-to-node mesh | up    | 09:42:58 | Established |
    +---------------+-------------------+-------+----------+-------------+
    
    IPv6 BGP status
    No IPv6 peers found.
    
    [[email protected] ~]# 

建立 calico 網路
在 host1 或 host2 上執行如下命令建立 calico 網路 cal_ent1:

  # docker network create --driver calico --ipam-driver calico-ipam cal_net1
  • –driver calico 指定使用 calico 的 libnetwork CNM driver。
  • –ipam-driver calico-ipam 指定使用 calico 的 IPAM driver 管理 IP。

calico 為 global 網路,etcd 會將 cal_net 同步到所有主機。

    [[email protected] ~]# docker network ls
    NETWORK ID          NAME                DRIVER              SCOPE
    13688a2fa1f6        bridge              bridge              local
    4a036a209f73        cal_net1            calico              global
    634261a87b28        host                host                local
    83b3249a9250        none                null                local
    [[email protected] ~]#  

Calico網路結構

在 host1 中執行容器 bbox1 並連線到 cal_net1:

    # docker container run --net cal_net1 --name bbox1 -tid busybox

檢視 bbox1 的網路配置。

    [root@host1 ~]# docker exec bbox1 ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
        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
    5: cali0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
        link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff
        inet 192.168.119.0/32 brd 192.168.119.0 scope global cali0
           valid_lft forever preferred_lft forever
    [root@host1 ~]# 

cali0 是 calico interface,分配的 IP 為 192.168.119.0。cali0 對應 host1 編號6 的 interface caliea27309bc46。

    [root@host1 ~]# ip a
    ......
    6: caliea27309bc46@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
        link/ether ba:9a:72:6c:61:12 brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet6 fe80::b89a:72ff:fe6c:6112/64 scope link 
           valid_lft forever preferred_lft forever
    [root@host1 ~]# 

host1 將作為 router 負責轉發目的地址為 bbox1 的資料包。

    [root@host1 ~]# ip route 
    default via 192.168.92.2 dev ens33 proto static metric 100 
    172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
    192.168.92.0/24 dev ens33 proto kernel scope link src 192.168.92.57 metric 100 
    192.168.119.0 dev caliea27309bc46 scope link 
    blackhole 192.168.119.0/26 proto bird 

所有傳送到 bbox1 的資料都會發給caliea27309bc46,因為caliea27309bc46 與 cali0 是一對 veth pair,bbox1 能夠接收到資料。
接下來我們在 host2 中執行容器 bbox2,也連線到 cal_net1:

   # docker container run --net cal_net1 --name bbox2 -tid busybox

IP 為 192.168.183.64。

    [root@host2 ~]# docker exec bbox2 ip a 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
        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
    5: cali0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
        link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff
        inet 192.168.183.64/32 brd 192.168.183.64 scope global cali0
           valid_lft forever preferred_lft forever
    [root@host2 ~]# 

host2 添加了兩條路由:

    [root@host2 ~]# ip route 
    default via 192.168.92.2 dev ens33 proto static metric 100 
    172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
    192.168.92.0/24 dev ens33 proto kernel scope link src 192.168.92.58 metric 100 
    192.168.119.0/26 via 192.168.92.57 dev ens33 proto bird 
    192.168.183.64 dev cali16a5ce997f9 scope link 
    blackhole 192.168.183.64/26 proto bird 
    [root@host2 ~]# 
  1. 目的地址為 host1 容器 subnet 192.168.119.0/26 的路由。
  2. 目的地址為本地 bbox2 容器 192.168.183.65 的路由。

同樣的,host1 也自動添加了到 192.168.183.64/26 的路由。

    [root@host1 ~]# ip route 
    default via 192.168.92.2 dev ens33 proto static metric 100 
    172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
    192.168.92.0/24 dev ens33 proto kernel scope link src 192.168.92.57 metric 100 
    192.168.119.0 dev caliea27309bc46 scope link 
    blackhole 192.168.119.0/26 proto bird 
    192.168.183.64/26 via 192.168.92.58 dev ens33 proto bird 
    [root@host1 ~]# 

Calico 的預設連通性

測試一下 bbox1 與 bbox2 的連通性:

    [root@host1 ~]# docker exec bbox1 ping -c 2 bbox2
    PING bbox2 (192.168.183.64): 56 data bytes
    64 bytes from 192.168.183.64: seq=0 ttl=62 time=0.654 ms
    64 bytes from 192.168.183.64: seq=1 ttl=62 time=1.282 ms

ping 成功,資料包流向如下圖所示。
在這裡插入圖片描述
① 根據 bbox1 的路由表,將資料包從 cal0 發出。

    [root@host1 ~]# docker exec bbox1 ip route
    default via 169.254.1.1 dev cali0 
    169.254.1.1 dev cali0 scope link 
    [root@host1 ~]# 

② 資料經過 veth pair 到達 host1,檢視路由表,資料由 ens33發給 host2(192.168.92.58)。
192.168.183.64/26 via 192.168.92.58 dev ens33 proto bird
③ host2 收到資料包,根據路由表傳送給 calic8bf9e68397,進而通過 veth pair cali0 到達 bbox2。
192.168.183.64 dev cali16a5ce997f9 scope link
接下來我們看看不同 calico 網路之間的連通性。
建立 cal_net2。

    docker network create --driver calico --ipam-driver calico-ipam cal_net2

在 host1 中執行容器 bbox3,連線到 cal_net2:

    docker container run --net cal_net2 --name bbox3 -tid busybox

calico 為 bbox3 分配了 IP 192.168.119.1。

    [root@host1 ~]# docker exec bbox3 ip address show cali0
    7: cali0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue 
        link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff
        inet 192.168.119.1/32 brd 192.168.119.1 scope global cali0
           valid_lft forever preferred_lft forever
    [root@host1 ~]# 

驗證 bbox1 與 bbox3 的連通性。

    [root@host1 ~]# docker exec bbox1 ping -c 2 bbox3
    ping: bad address 'bbox3'
    [root@host1 ~]# 

雖然 bbox1 和 bbox3 都位於 host1,而且都在一個 subnet 192.168.119.0/26,但它們屬於不同的 calico 網路,預設不能通行。
calico 預設的 policy 規則是:容器只能與同一個 calico 網路中的容器通訊。
calico 的每個網路都有一個同名的 profile,profile 中定義了該網路的 policy。我們具體看一下 cal_net1 的 profile:

    [[email protected] ~]# calicoctl get profile cal_net1 -o yaml
    - apiVersion: v1
      kind: profile
      metadata:
        name: cal_net1
        tags:
        - cal_net1
      spec:
        egress:
        - action: allow
          destination: {}
          source: {}
        ingress:
        - action: allow
          destination: {}
          source:
            tag: cal_net1
    [[email protected] ~]# 

① 命名為 cal_net1,這就是 calico 網路 cal_net1 的 profile。
② 為 profile 新增一個 tag cal_net1。注意,這個 tag 雖然也叫 cal_net1,其實可以隨便設定,這跟上面的 name: cal_net1 沒有任何關係。此 tag 後面會用到。
③ egress 對從容器發出的資料包進行控制,當前沒有任何限制。
④ ingress 對進入容器的資料包進行限制,當前設定是接收來自 tag cal_net1 的容器,根據第 ① 步設定我們知道,實際上就是隻接收本網路的資料包,這也進一步解釋了前面的實驗結果。
既然這是預設 policy,那就有方法定製 policy,這也是 calico 較其他網路方案最大的特性。下一節就我們討論如何定製 calico policy。

定製 Calico 網路 Policy

Calico 預設的 policy 規則是:容器只能與同一個 calico 網路中的容器通訊。calico 能夠讓使用者定義靈活的 policy 規則,精細化控制進出容器的流量,下面我們就來實踐一個場景:
建立一個新的 calico 網路 cal_web 並部署一個 httpd 容器 web1。
定義 policy 允許 cal_net2 中的容器訪問 web1 的 80 埠。
首先建立 cal_web。

   # docker network create --driver calico --ipam-driver calico-ipam cal_web 

在 host1 中執行容器 web1,連線到 cal_web:

    docker container run --net cal_web --name web1 -d httpd
    [root@host1 ~]# docker exec -it web1 bash
    root@98c33620a550:/usr/local/apache2#    
    root@98c33620a550:/usr/local/apache2# apt-get update
    root@98c33620a550:/usr/local/apache2# apt-get install iproute
    root@98c33620a550:/usr/local/apache2# 
    root@98c33620a550:/usr/local/apache2# exit
    exit
    [root@host1 ~]#

web1 的 IP 為 192.168.119.2

    [root@host1 ~]# docker container exec web1 ip address show cali0
    9: cali0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
        link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 0
        inet 192.168.119.2/32 brd 192.168.119.2 scope global cali0
           valid_lft forever preferred_lft forever
    [root@host1 ~]# 

目前 bbox3 還無法訪問 web1 的 80 埠。

    [root@host1 ~]# docker container exec bbox3 wget 192.168.119.2
    Connecting to 192.168.119.2 (192.168.119.2:80)
    wget: can't connect to remote host (192.168.119.2): Connection timed out
    [root@host1 ~]# 

建立 policy 檔案 web.yml,內容為:

    [[email protected] ~]# vim web.yml
    - apiVersion: v1
      kind: profile
      metadata:
        name: cal_web
      spec:
        ingress:
        - action: allow
          protocol: tcp
          source:
            tag: cal_net2
          destination:
            ports:
            - 80

① profile 與 cal_web 網路同名,cal_web 的所有容器(web1)都會應用此 profile 中的 policy。
② ingress 允許 cal_net2 中的容器(bbox3)訪問。
③ 只開放 80 埠。
應用該 policy。

  #  calicoctl apply -f web.yml

現在 bbox3 已經能夠訪問 web1 的 http 服務了。

    [root@host1 ~]# docker container exec bbox3 wget 192.168.119.2
    Connecting to 192.168.119.2 (192.168.119.2:80)
    index.html           100% |********************************|    45  0:00:00 ETA
    
    [root@host1 ~]# 

不過 ping 還是不行,因為只放開了 80 埠。

    [root@host1 ~]# docker container exec bbox3 ping -c 2 192.168.119.2
    PING 192.168.119.2 (192.168.119.2): 56 data bytes
    
    --- 192.168.119.2 ping statistics ---
    2 packets transmitted, 0 packets received, 100% packet loss
    [root@host1 ~]# 

上面這個例子比較簡單,不過已經向我們展示了 calico 強大的 policy 功能。通過 policy,可以動態實現非常複雜的容器訪問控制。有關 calico policy 更多的配置,可參看官網文件

相關推薦

Docker配置calico網路

Calico網路簡介 Calico為容器和虛擬機器工作負載提供安全的網路連線。 Calico建立並管理平面第3層網路,為每個工作負載分配完全可路由的IP地址。工作負載可以在沒有IP封裝或網路地址轉換的情況下進行通訊,以實現裸機效能,簡化故障排除和更好的互操作性。在需要overlay的環境

docker 容器間網路配置

建立一個docker容器,docker系統會自動為該容器分配一個ip地址,通常是172.17開頭。 我們可以在主機上用 docker inspect 命令 或者進入容器用ifconfig命令來檢視容器的ip地址。 假設某個容器(假設容器的名稱為myweb)被分配的地址是 172.17.0.2,該容器上啟動

Docker 配置網路教程

原文地址 這部分教程中,獨立容器直接連線到 Docker 主機的網路,沒有網路隔離。 1. 目標 這個教程的目的是啟動一個直接繫結到 Docker 主機的 80 埠的 Nginx 容器。從網路角度來看,這跟 Nginx 程序直接執行在 Docker 主機上

docker+pipework配置容器網路(二)

第二部分: 使用pipework為容器配置宿主機物理網路的地址1. 安裝pipeworkyum install git -ycd pipeworkcp pipework /usr/bin/2.pipework介紹pipework是一個軟體定義網路的工具,用來在任何複雜的場景

Docker配置橋接網路

為了使本地網路中的機器和Docker容器更方便的通訊,我們經常會有將Docker容器配置到和主機同一網段的需求。這個需求其實很容易實現,我們只要將Docker容器和宿主機的網絡卡橋接起來,再給Docker容器配上IP就可以了。 Centos 6按照下面的方法操

Docker 配置網路

原文地址 就網路而言,橋接網路(bridge network,也叫網橋)是一種鏈路層裝置,用於轉發網段之間的流量。 bridge 可以是硬體裝置或在主機核心中執行的軟體裝置。 對 Docker 而言,橋接網路使用允許容器連線到同一個橋接網路來通訊的軟體網橋,

docker 配置遠程訪問

erl cgroup daemon dock 訪問 pro network driver emd 系統: centos 7 Docker version 1.12.6 yum 安裝的 #yum install docker docker server在192.168.

docker 配置

dockercat /etc/sysconfig/dockerother_args=‘-g /rc/local/docker‘OPTIONS=‘--selinux-enabled --log-driver=journald -g /rc/docker‘INSECURE_REGISTRY=‘--insecure

docker配置overlay存儲

docker storage driver1、查看overlay模塊是否安裝lsmod | grep over2、將OverlayFS加到module目錄下echo "overlay" > /etc/modules-load.d/overlay.conf3、或者使用modprobe命令加載模塊#modp

Docker - 配置加速器

lib curl ubuntu aot class cal 到你 res log https://www.daocloud.io/mirror#accelerator-doc curl -sSL https://get.daocloud.io/daotools/set_m

docker配置反向代理

http docker proxy Custom(定制) Docker daemon optionsThere are a number of ways to configure the daemon flags and environment variables for your Docker

Docker配置 DNS

log dns 配置 conf -h rip dock 主機 主機名 earch Docker 沒有為每個容器專門定制鏡像,那麽怎麽自定義配置容器的主機名和 DNS 配置呢? 秘訣就是它利用虛擬文件來掛載到來容器的 3 個相關配置文件。 在容器中使用 mount 命令可

docker配置國內官方鏡像

sta 網絡 class pan 修改 post RR tps gist 國內網絡訪問國外官方鏡像不僅網速慢,而且經常遭遇斷網,對此我們可以配置國內鏡像來解決這個問題。 在國內,可以通過registry.docker-cn.com訪問官方鏡像庫。 配置方法 修改 /e

Djano + Nginx + docker配置與管理

file corn 完成 項目 Beginner 一起 管理 add 文件 在配置這個服務之前,應該對docker的基本安裝與使用應該很熟悉了。下面開始直接不如正題 1.讓我們創建一個名為myproject的空目錄,並在src名稱內添加另一個文件夾。src應該包含djang

win7下docker配置加速器

col style docker 信息 alt 分享圖片 -i extra pro 1.docker-machine ssh default(有時可省略) 2.sudo sed -i "s|EXTRA_ARGS=‘|EXTRA_ARGS=‘--registry-mirror

docker-配置網橋-自定義網絡

管理 route add 物理機 6.0 16px 軟連接 ron pre set                       容器網絡訪問原理? 橋接宿主機網絡 臨時生效: # 網橋名稱 br_name=br0 # 添加網橋 brctl addbr $br_name #

Docker配置參數列表

rest 不可 方法 -s 信息 secure lin dockerd plugin Docker參考手冊: https://docs.docker.com/engine/reference/commandline/dockerd/配置docker守護進程的屬

Docker配置本地鏡像與容器的存儲位置

配置文件 reat grep emc tag roo lib ons 服務 默認情況下Docker的存放位置為:/var/lib/docker 可以通過下面命令查看具體位置: sudo docker info | grep "Docker Root Dir" 指定鏡像和容器

docker配置深度學習環境

版權宣告:本文為博主原創文章,轉載註明出處即可。 https://blog.csdn.net/bskfnvjtlyzmv867/article/details/81017226 序 閱讀本篇文章可以幫你解決的問題是:提供一套解決方案,能夠在支援Docker的任何版本Ubuntu系統下,搭建出完美執行各種深

Docker配置mysql

首先需要從docker上拉取mysql映象 一:拉取命令操作[[email protected] my.Shells]# docker pull mysqlUsing default tag: latestTrying to pull repository docker.io/library/my