<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 什么是Docker 開源的應用容器引擎,基于go語言開發 Docker安裝采坑記 相關命令:`systemctl status docker.service`查看服務狀態 Linux的安裝后步驟 預計閱讀時間: 15分鐘 本節包含配置Linux主機以使用Docker更好地工作的可選過程。 以非root用戶身份管理Docker Docker守護程序綁定到Unix套接字而不是TCP端口。默認情況下,Unix套接字由用戶擁有,root而其他用戶只能使用它sudo。Docker守護程序始終以root用戶身份運行。 如果您不想在docker命令前加上sudo,請創建一個名為的Unix組docker并向其添加用戶。當Docker守護程序啟動時,它會創建一個可由該docker組成員訪問的Unix套接字。 警告 該docker組授予與root 用戶等效的權限。有關如何影響系統安全性的詳細信息,請參閱 Docker Daemon Attack Surface。 要創建docker組并添加您的用戶: 創建docker組。 ~~~ $ sudo groupadd docker ~~~ 將您的用戶添加到該docker組。 ~~~ $ sudo usermod -aG docker $USER ~~~ 注銷并重新登錄,以便重新評估您的組成員身份。 如果在虛擬機上進行測試,則可能需要重新啟動虛擬機才能使更改生效。 在桌面Linux環境(如X Windows)上,完全注銷會話,然后重新登錄。 驗證您是否可以運行docker命令sudo。 ~~~ $ docker run hello-world ~~~ 此命令下載測試映像并在容器中運行它。當容器運行時,它會打印一條信息性消息并退出。 如果sudo在將用戶添加到docker組之前最初使用Docker CLI命令,則可能會看到以下錯誤,表示~/.docker/由于sudo命令而創建的目錄的權限不正確。 ~~~ WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied ~~~ 要解決此問題,請刪除~/.docker/目錄(它會自動重新創建,但任何自定義設置都將丟失),或使用以下命令更改其所有權和權限: ~~~ $ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R $ sudo chmod g+rwx "$HOME/.docker" -R ~~~ 配置Docker以在啟動時啟動 大多數當前的Linux發行版(RHEL,CentOS,Fedora,Ubuntu 16.04及更高版本)用于systemd管理系統啟動時啟動的服務。Ubuntu 14.10及以下使用upstart。 ~~~ systemd $ sudo systemctl enable docker ~~~ 要禁用此行為,請disable改用。 ~~~ $ sudo systemctl disable docker ~~~ 如果需要添加HTTP代理,為Docker運行時文件設置不同的目錄或分區,或進行其他自定義,請參閱 自定義systemd Docker守護程序選項。 upstart Docker自動配置為在啟動時啟動 upstart。要禁用此行為,請使用以下命令: ~~~ $ echo manual | sudo tee /etc/init/docker.override chkconfig $ sudo chkconfig docker on ~~~ 使用其他存儲引擎 有關不同存儲引擎的信息,請參閱 存儲驅動程序。默認存儲引擎和支持的存儲引擎列表取決于主機的Linux發行版和可用的內核驅動程序。 配置Docker守護程序偵聽連接的位置 默認情況下,Docker守護程序偵聽UNIX套接字上的連接以接受來自本地客戶端的請求。通過將Docker配置為偵聽IP地址和端口以及UNIX套接字,可以允許Docker接受來自遠程主機的請求。有關此配置選項的更多詳細信息,請參閱Docker CLI參考文章中的“將Docker綁定到另一個主機/端口或unix套接字”部分。 Docker EE客戶 Docker EE客戶可以使用UCP客戶端捆綁包獲得對UCP的遠程CLI訪問。UCP客戶端捆綁包由UCP生成,并由相互TLS保護。有關更多信息,請參閱有關UCP的CLI訪問的文檔 。 保護您的連接 在配置Docker以接受來自遠程主機的連接之前,了解打開docker到網絡的安全隱患至關重要。如果不采取措施來保護連接,則遠程非root用戶可以在主機上獲得root訪問權限。有關如何使用TLS證書保護此連接的更多信息,請查看有關 如何保護Docker守護程序套接字的文章。 配置Docker以接受遠程連接可以docker.service使用systemd的Linux發行版的systemd單元文件來完成,例如RedHat,CentOS,Ubuntu和SLES的最新版本,或者daemon.json推薦用于不使用systemd的Linux發行版的文件。 systemd vs daemon.json 配置Docker以使用systemd單元文件和daemon.json 文件來偵聽連接會導致沖突,從而阻止Docker啟動。 使用systemd單元文件配置遠程訪問 使用該命令在文本編輯器中sudo systemctl edit docker.service打開覆蓋文件docker.service。 添加或修改以下行,替換您自己的值。 \[Service\] ExecStart= ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375 保存文件。 重新加載systemctl配置。 $ sudo systemctl daemon-reload 重啟Docker。 $ sudo systemctl restart docker.service 通過查看netstat確認的輸出是否dockerd正在偵聽已配置的端口來檢查更改是否得到遵守。 $ sudo netstat -lntp | grep dockerd tcp 0 0 127.0.0.1:2375 0.0.0.0:\* LISTEN 3758/dockerd 使用配置遠程訪問 daemon.json 將hosts數組設置/etc/docker/daemon.json為連接到UNIX套接字和IP地址,如下所示: { "hosts": \["unix:///var/run/docker.sock", "tcp://127.0.0.1:2375"\] } 重啟Docker。 通過查看netstat確認的輸出是否dockerd正在偵聽已配置的端口來檢查更改是否得到遵守。 $ sudo netstat -lntp | grep dockerd tcp 0 0 127.0.0.1:2375 0.0.0.0:\* LISTEN 3758/dockerd 在Docker守護程序上啟用IPv6 要在Docker守護程序上啟用IPv6,請參閱 啟用IPv6支持。 故障排除 內核兼容性 如果您的內核早于3.10版本或者缺少某些模塊,則Docker無法正常運行。要檢查內核兼容性,可以下載并運行該check-config.sh 腳本。 $ curl https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh > check-config.sh $ bash ./check-config.sh 該腳本僅適用于Linux,而不適用于macOS。 Cannot connect to the Docker daemon 如果您看到如下所示的錯誤,則可能將Docker客戶端配置為連接到其他主機上的Docker守護程序,并且該主機可能無法訪問。 Cannot connect to the Docker daemon. Is 'docker daemon' running on this host? 要查看客戶端配置連接到哪個主機,請檢查DOCKER\_HOST環境中變量的值。 $ env | grep DOCKER\_HOST 如果此命令返回值,則Docker客戶端將設置為連接到在該主機上運行的Docker守護程序。如果未設置,則Docker客戶端將設置為連接到本地主機上運行的Docker守護程序。如果設置錯誤,請使用以下命令取消設置: $ unset DOCKER\_HOST 您可能需要在文件中編輯環境,~/.bashrc或者 ~/.profile防止DOCKER\_HOST錯誤地設置變量。 如果DOCKER\_HOST按預期設置,請驗證Docker守護程序是否在遠程主機上運行,??以及防火墻或網絡中斷是否阻止您進行連接。 IP轉發問題 如果使用手動配置你的網絡systemd-network有systemd 219或更高版本,Docker容器可能無法訪問您的網絡。從systemd版本220 開始,給定網絡(net.ipv4.conf..forwarding)的轉發設置默認為關閉。此設置可防止IP轉發。它還與Docker net.ipv4.conf.all.forwarding在容器中啟用設置的行為相沖突。 要在RHEL,CentOS或Fedora上解決此問題,請.network 在/usr/lib/systemd/network/Docker主機上編輯該文件(例如:)/usr/lib/systemd/network/80-container-host0.network并在該\[Network\]部分中添加以下塊。 \[Network\] ... IPForward=kernel # OR IPForward=true ... 此配置允許按預期從容器進行IP轉發。 DNS resolver found in resolv.conf and containers can't use it 使用GUI的Linux系統通常運行網絡管理器,該網絡管理器使用dnsmasq在環回地址上運行的 實例,例如127.0.0.1或 127.0.1.1緩存DNS請求,并將此條目添加到 /etc/resolv.conf。該dnsmasq服務可加速DNS查詢并提供DHCP服務。此配置不擁有自己的網絡命名空間的碼頭工人容器內工作,因為多克爾容器解決回環地址,如127.0.0.1對 自身,這是很不可能的運行在自己的回送地址的DNS服務器。 如果Docker檢測到沒有引用的DNS服務器/etc/resolv.conf是功能齊全的DNS服務器,則會出現以下警告,并且Docker使用Google提供的公共DNS服務器8.8.8.8并8.8.4.4進行DNS解析。 WARNING: Local (127.0.0.1) DNS resolver found in resolv.conf and containers can't use it. Using default external servers : \[8.8.8.8 8.8.4.4\] 如果您看到此警告,請先檢查您是否使用dnsmasq: $ ps aux |grep dnsmasq 如果您的容器需要解析網絡內部的主機,則公共名稱服務器不夠用。你有兩個選擇: 您可以為Docker指定要使用的DNS服務器,或 您可以dnsmasq在NetworkManager中禁用。如果您這樣做,NetworkManager會添加您真正的DNS名稱服務器/etc/resolv.conf,但您將失去可能的好處dnsmasq。 您只需要使用這些方法之一。 為Docker指定DNS服務器 配置文件的默認位置是/etc/docker/daemon.json。您可以使用--config-file 守護程序標志更改配置文件的位置。以下文檔假定配置文件位于/etc/docker/daemon.json。 創建或編輯Docker守護程序配置文件,該/etc/docker/daemon.json文件默認為 file,它控制Docker守護程序配置。 $ sudo nano /etc/docker/daemon.json 添加dns一個或多個IP地址作為值的密鑰。如果文件包含現有內容,則只需添加或編輯該dns行。 { "dns": \["8.8.8.8", "8.8.4.4"\] } 如果您的內部DNS服務器無法解析公共IP地址,請至少包含一個DNS服務器,以便您可以連接到Docker Hub,以便您的容器可以解析Internet域名。 保存并關閉文件。 重新啟動Docker守護程序。 $ sudo service docker restart 通過嘗試提取圖像來驗證Docker是否可以解析外部IP地址: $ docker pull hello-world 如有必要,請驗證Docker容器是否可以通過ping它來解析內部主機名。 $ docker run --rm -it alpine ping -c4 PING google.com (192.168.1.2): 56 data bytes 64 bytes from 192.168.1.2: seq=0 ttl=41 time=7.597 ms 64 bytes from 192.168.1.2: seq=1 ttl=41 time=7.635 ms 64 bytes from 192.168.1.2: seq=2 ttl=41 time=7.660 ms 64 bytes from 192.168.1.2: seq=3 ttl=41 time=7.677 ms 禁用 DNSMASQ Ubuntu的 如果您不想更改Docker守護程序的配置以使用特定的IP地址,請按照以下說明dnsmasq在NetworkManager中禁用。 編輯/etc/NetworkManager/NetworkManager.conf文件。 通過dns=dnsmasq在行#的開頭添加一個字符來注釋掉該行。 # dns=dnsmasq 保存并關閉文件。 重新啟動NetworkManager和Docker。作為替代方案,您可以重新啟動系統。 $ sudo restart network-manager $ sudo restart docker RHEL,CentOS或Fedora 要dnsmasq在RHEL,CentOS或Fedora上禁用: 禁用該dnsmasq服務: $ sudo service dnsmasq stop $ sudo systemctl disable dnsmasq 使用Red Hat文檔手動配置DNS服務器 。 允許通過防火墻訪問遠程API 如果您在運行Docker的同一主機上運行防火墻并且想要從另一臺主機訪問Docker Remote API并啟用遠程訪問,則需要配置防火墻以允許Docker端口上的傳入連接,默認為2376if啟用TLS加密傳輸或2375 以其他方式啟用。 兩個常見的防火墻守護程序是 UFW(簡單防火墻)(通常用于Ubuntu系統)和firewalld(通常用于基于RPM的系統)。請參閱操作系統和防火墻的文檔,但以下信息可能有助于您入門。這些選項相當寬松,您可能希望使用不同的配置來更好地鎖定系統。 UFW:DEFAULT\_FORWARD\_POLICY="ACCEPT"在您的配置中設置。 firewalld:在策略中添加與以下類似的規則(一個用于傳入請求,另一個用于傳出請求)。確保接口名稱和鏈名稱正確。 \[\-i zt0 -j ACCEPT\] \[\-o zt0 -j ACCEPT\]Your kernel does not support cgroup swap limit capabilities 在Ubuntu或Debian主機上,使用圖像時,您可能會看到類似于以下內容的消息。 WARNING: Your kernel does not support swap limit capabilities. Limitation discarded. 在基于RPM的系統上不會發生此警告,這些系統默認啟用這些功能。 如果您不需要這些功能,則可以忽略該警告。您可以按照這些說明在Ubuntu或Debian上啟用這些功能。即使Docker未運行,內存和交換計費也會占總可用內存的1%左右,總體性能降低10%。 以具有sudo權限的用戶身份登錄Ubuntu或Debian主機。 編輯/etc/default/grub文件。添加或編輯該GRUB\_CMDLINE\_LINUX行以添加以下兩個鍵值對: GRUB\_CMDLINE\_LINUX="cgroup\_enable=memory swapaccount=1" 保存并關閉文件。 更新GRUB。 $ sudo update-grub 如果GRUB配置文件的語法不正確,則會發生錯誤。在這種情況下,請重復步驟3和4。 重新啟動系統后,更改將生效。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看