1. 程式人生 > >Ubuntu 簡單安裝 Docker

Ubuntu 簡單安裝 Docker

伺服器版本 Ubuntu 16.04 LTS。

1. 普通安裝

安裝命令:

更新程式包索引,以及新增使用 HTTPS 傳輸的軟體包以及 CA 證書。

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates

新增 Docker 官方軟體源的 GPG 金鑰(驗證所下載軟體包的合法性)。

$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

需要向source.list中新增 Docker 軟體源,下表列出了不同的 Ubuntu 和 Debian 版本對應的 APT 源。

作業系統版本 REPO
Precise 12.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-precise main
Trusty 14.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-trusty main
Xenial 16.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-xenial main
Debian 7 Wheezy deb https://apt.dockerproject.org/repo debian-wheezy main
Debian 8 Jessie deb https://apt.dockerproject.org/repo debian-jessie main
Debian Stretch/Sid deb https://apt.dockerproject.org/repo debian-stretch main

用下面的命令將 APT 源新增到 source.list(將其中的 <REPO> 替換為上表的值):

$ echo "<REPO>" | sudo tee /etc/apt/sources.list.d/docker.list

新增成功後,更新 apt 軟體包快取。

$ sudo apt-get update

在一切準備就緒後,就可以安裝最新版本的 Docker 了,軟體包名稱為 docker-engine

$ sudo apt-get install docker-engine

如果系統中存在舊版本的 Docker (lxc-docker, docker.io),會提示是否先刪除,選擇是即可。

2. 一鍵安裝指令碼

如果覺得上面安裝步驟比較麻煩,可以使用一鍵安裝指令碼,例如阿里雲安裝指令碼:

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

3. 映象加速器

對於使用 systemd 的系統,用 systemctl enable docker 啟用服務後,編輯 /etc/systemd/system/multi-user.target.wants/docker.service 檔案,找到 ExecStart= 這一行,在這行最後新增加速器地址 --registry-mirror=<加速器地址>,如:

ExecStart=/usr/bin/dockerd --registry-mirror=https://kvo9moak.mirror.aliyuncs.com

重新載入配置並且重新啟動。

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

Linux 系統下配置完加速器需要檢查是否生效,在命令列執行 ps -ef | grep dockerd,如果從結果中看到了配置的 --registry-mirror 引數說明配置成功。

$ sudo ps -ef | grep dockerd
root      5346     1  0 19:03 ?        00:00:00 /usr/bin/dockerd --registry-mirror=https://jxus37ad.mirror.aliyuncs.com
$

如果Docker版本大於 1.13 或 17.05.0-ce,也可以

$ sudo docker info|grep "Registry Mirrors" -A 1
Registry Mirrors:
 https://registry.docker-cn.com/

4. Docker 常用命令

常用命令 說明
sudo systemctl start docker 啟動 docker 服務
sudo systemctl enable docker 停止 docker 服務
sudo docker pull 從 docker 倉庫下載一個映象
sudo docker build 構建一個映象
sudo docker run 執行一個容器
sudo docker stop 停止一個容器
sudo docker start 執行一個已經停止的容易
sudo docker ps -a 顯示所有的容器,包括未執行的
sudo docker ps -l 顯示最近建立的容器
sudo docker ps -s 顯示容器總的檔案大小
sudo docker images 顯示所有的映象
sudo docker rmi 刪除一個映象
sudo docker images -q 刪除所有映象
sudo docker rm 刪除一個容器
docker rm $(docker ps -a -q) 刪除所有容器
sudo docker logs 檢視日誌
sudo docker exec -it gitlab bash 進入 gitlab 容器,並執行 bash 命令(Ctrl + D 退出)

基本語法

Docker 命令有兩大類,客戶端命令和服務端命令。前者是主要的操作介面,後者用來啟動 Docker daemon。

  • 客戶端命令:基本命令格式為 docker [OPTIONS] COMMAND [arg...]
  • 服務端命令:基本命令格式為 docker daemon [OPTIONS]

可以通過 man dockerdocker help 來檢視這些命令。

客戶端命令選項

  • --config="":指定客戶端配置檔案,預設為 /.docker
  • -D=true|false:是否使用 debug 模式。預設不開啟;
  • -H, --host=[]:指定命令對應 Docker daemon 的監聽介面,可以為 unix 套接字(unix:///path/to/socket),檔案控制代碼(fd://socketfd)或 tcp 套接字(tcp://[host[:port]]),預設為 unix:///var/run/docker.sock;
  • -l, --log-level="debug|info|warn|error|fatal":指定日誌輸出級別;
  • --tls=true|false:是否對 Docker daemon 啟用 TLS 安全機制,預設為否;
  • --tlscacert= /.docker/ca.pem:TLS CA 簽名的可信證書檔案路徑;
  • --tlscert= /.docker/cert.pem:TLS 可信證書檔案路徑;
  • --tlscert= /.docker/key.pem:TLS 金鑰檔案路徑;
  • --tlsverify=true|false:啟用 TLS 校驗,預設為否。

daemon 命令選項

  • --api-cors-header="":CORS 頭部域,預設不允許 CORS,要允許任意的跨域訪問,可以指定為 “*”;
  • --authorization-plugin="":載入認證的外掛;
  • -b="":將容器掛載到一個已存在的網橋上。指定為 'none' 時則禁用容器的網路,與 --bip 選項互斥;
  • --bip="":讓動態建立的 docker0 網橋採用給定的 CIDR 地址; 與 -b 選項互斥;
  • --cgroup-parent="":指定 cgroup 的父組,預設 fs cgroup 驅動為 /docker,systemd cgroup 驅動為 system.slice
  • --cluster-store="":構成叢集(如 Swarm)時,叢集鍵值資料庫服務地址;
  • --cluster-advertise="":構成叢集時,自身的被訪問地址,可以為 host:portinterface:port
  • --cluster-store-opt="":構成叢集時,鍵值資料庫的配置選項;
  • --config-file="/etc/docker/daemon.json":daemon 配置檔案路徑;
  • --containerd="":containerd 檔案的路徑;
  • -D, --debug=true|false:是否使用 Debug 模式。預設為 false;
  • --default-gateway="":容器的 IPv4 閘道器地址,必須在網橋的子網段內;
  • --default-gateway-v6="":容器的 IPv6 閘道器地址;
  • --default-ulimit=[]:預設的 ulimit 值;
  • --disable-legacy-registry=true|false:是否允許訪問舊版本的映象倉庫伺服器;
  • --dns="":指定容器使用的 DNS 伺服器地址;
  • --dns-opt="":DNS 選項;
  • --dns-search=[]:DNS 搜尋域;
  • --exec-opt=[]:執行時的執行選項;
  • --exec-root="":容器執行狀態檔案的根路徑,預設為 /var/run/docker
  • --fixed-cidr="":限定分配 IPv4 地址範圍;
  • --fixed-cidr-v6="":限定分配 IPv6 地址範圍;
  • -G, --group="":分配給 unix 套接字的組,預設為 docker
  • -g, --graph="":Docker 執行時的根路徑,預設為 /var/lib/docker
  • -H, --host=[]:指定命令對應 Docker daemon 的監聽介面,可以為 unix 套接字(unix:///path/to/socket),檔案控制代碼(fd://socketfd)或 tcp 套接字(tcp://[host[:port]]),預設為 unix:///var/run/docker.sock;
  • --icc=true|false:是否啟用容器間以及跟 daemon 所在主機的通訊。預設為 true。
  • --insecure-registry=[]:允許訪問給定的非安全倉庫服務;
  • --ip="":繫結容器埠時候的預設 IP 地址。預設為 0.0.0.0;
  • --ip-forward=true|false:是否檢查啟動在 Docker 主機上的啟用 IP 轉發服務,預設開啟。注意關閉該選項將不對系統轉發能力進行任何檢查修改;
  • --ip-masq=true|false:是否進行地址偽裝,用於容器訪問外部網路,預設開啟;
  • --iptables=true|false:是否允許 Docker 新增 iptables 規則。預設為 true;
  • --ipv6=true|false:是否啟用 IPv6 支援,預設關閉;
  • -l, --log-level="debug|info|warn|error|fatal":指定日誌輸出級別;
  • --label="[]":新增指定的鍵值對標註;
  • --log-driver="json-file|syslog|journald|gelf|fluentd|awslogs|splunk|etwlogs|gcplogs|none":指定日誌後端驅動,預設為 json-file;
  • --log-opt=[]:日誌後端的選項;
  • --mtu=VALUE:指定容器網路的 mtu;
  • -p="":指定 daemon 的 PID 檔案路徑。預設為 /var/run/docker.pid
  • --raw-logs:輸出原始,未加色彩的日誌資訊;
  • --registry-mirror=://:指定 docker pull 時使用的註冊伺服器映象地址;
  • -s, --storage-driver="":指定使用給定的儲存後端;
  • --selinux-enabled=true|false:是否啟用 SELinux 支援。預設值為 false。SELinux 目前尚不支援 overlay 儲存驅動;
  • --storage-opt=[]:驅動後端選項;
  • --tls=true|false:是否對 Docker daemon 啟用 TLS 安全機制,預設為否;
  • --tlscacert= /.docker/ca.pem:TLS CA 簽名的可信證書檔案路徑;
  • --tlscert= /.docker/cert.pem:TLS 可信證書檔案路徑;
  • --tlscert= /.docker/key.pem:TLS 金鑰檔案路徑;
  • --tlsverify=true|false:啟用 TLS 校驗,預設為否;
  • --userland-proxy=true|false:是否使用使用者態代理來實現容器間和出容器的迴環通訊,預設為 true;
  • --userns-remap=default|uid:gid|user:group|user|uid:指定容器的使用者名稱空間,預設是建立新的 UID 和 GID 對映到容器內程序。

客戶端命令

可以通過 man docker-COMMANDdocker help COMMAND 來檢視這些命令的具體用法。

  • attach:依附到一個正在執行的容器中;
  • build:從一個 Dockerfile 建立一個映象;
  • commit:從一個容器的修改中建立一個新的映象;
  • cp:在容器和本地宿主系統之間複製檔案中;
  • create:建立一個新容器,但並不執行它;
  • diff:檢查一個容器內檔案系統的修改,包括修改和增加;
  • events:從服務端獲取實時的事件;
  • exec:在執行的容器內執行命令;
  • export:匯出容器內容為一個 tar 包;
  • history:顯示一個映象的歷史資訊;
  • images:列出存在的映象;
  • import:匯入一個檔案(典型為 tar 包)路徑或目錄來建立一個本地映象;
  • info:顯示一些相關的系統資訊;
  • inspect:顯示一個容器的具體配置資訊;
  • kill:關閉一個執行中的容器 (包括程序和所有相關資源);
  • load:從一個 tar 包中載入一個映象;
  • login:註冊或登入到一個 Docker 的倉庫伺服器;
  • logout:從 Docker 的倉庫伺服器登出;
  • logs:獲取容器的 log 資訊;
  • network:管理 Docker 的網路,包括檢視、建立、刪除、掛載、解除安裝等;
  • node:管理 swarm 叢集中的節點,包括檢視、更新、刪除、提升/取消管理節點等;
  • pause:暫停一個容器中的所有程序;
  • port:查詢一個 nat 到一個私有網口的公共口;
  • ps:列出主機上的容器;
  • pull:從一個Docker的倉庫伺服器下拉一個映象或倉庫;
  • push:將一個映象或者倉庫推送到一個 Docker 的註冊伺服器;
  • rename:重新命名一個容器;
  • restart:重啟一個執行中的容器;
  • rm:刪除給定的若干個容器;
  • rmi:刪除給定的若干個映象;
  • run:建立一個新容器,並在其中執行給定命令;
  • save:儲存一個映象為 tar 包檔案;
  • search:在 Docker index 中搜索一個映象;
  • service:管理 Docker 所啟動的應用服務,包括建立、更新、刪除等;
  • start:啟動一個容器;
  • stats:輸出(一個或多個)容器的資源使用統計資訊;
  • stop:終止一個執行中的容器;
  • swarm:管理 Docker swarm 叢集,包括建立、加入、退出、更新等;
  • tag:為一個映象打標籤;
  • top:檢視一個容器中的正在執行的程序資訊;
  • unpause:將一個容器內所有的程序從暫停狀態中恢復;
  • update:更新指定的若干容器的配置資訊;
  • version:輸出 Docker 的版本資訊;
  • volume:管理 Docker volume,包括檢視、建立、刪除等;
  • wait:阻塞直到一個容器終止,然後輸出它的退出符。

一張圖總結 Docker 的命令

參考資料:

相關推薦

Ubuntu 簡單安裝 Docker

伺服器版本 Ubuntu 16.04 LTS。 1. 普通安裝 安裝命令: 更新程式包索引,以及新增使用 HTTPS 傳輸的軟體包以及 CA 證書。 $ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates

Ubuntu 非常簡單安裝 docker 指令碼安裝

核心版本檢查 uname -a 檢查 Device Mapper DeviceMapper自Linux 2.6被引入成為了Linux最重要的一個技術。它在核心中支援邏輯卷管理的通用裝置對映機制,它為實現用於儲存資源管理的塊裝置驅動提供了一個高度模組化的核心架構,它包含三個重

ubuntu安裝docker方法大全

ali add rust 情況 test download arch docker-ce ces 準備工作系統要求Docker CE 支持以下版本的 Ubuntu 操作系統: Artful 17.10 (Docker CE 17.11 Edge)Zesty 17.04Xen

Ubuntu安裝Docker

sudo res sources blog gpo date 支持 跳過 lib 安裝Ubuntu維護的版本 sudo apt-get install docker.io source /etc/bash_completion.d/docker.io 安裝Docker維護的

ubuntu 簡單安裝配置gitlab

IV pack -s http gitlab tla itl bash spa 安裝 gitlab-ce 社區版 curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.deb.sh | sudo b

Ubuntu安裝Docker Compose

引用官網  https://docs.docker.com/compose/Compose是一個用於定義和執行多容器Docker應用程式的工具。使用Compose,您可以使用yaml檔案來配置應用程式的服務。然後,使用一個命令,從配置中建立並啟動所有服務。1) 執行以下命令下載最新版本的Docker

Ubuntu安裝Docker --使用阿里雲映象

在Ubuntu中安裝Docker --使用阿里雲映象 step 1: 安裝必要的一些系統工具 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-propert

ubuntu環境安裝docker

rep 需要 mov sudo sof epo 添加 spa tor 查看已安裝的docker apt list docker* 如果已安裝,並且需要卸載,則執行以下命令: apt remove docker* 更新apt索引 apt update apt需要支

一起玩"Docker"之1——Ubuntu配置安裝Docker執行環境並安裝Ubuntu、Centos)映象

Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協議開源。 Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。 容器是完全使用沙箱機制,相互之間

ubuntu安裝docker

docker 支援的Ubuntu版本:   Ubuntu Trusty 14.04(LTS)(64-bit)   Ubuntu Precise 12.04(LTS)(64-bit)   Ubuntu Raring 13.04 and Saucy 13.10(64-bit)

ubuntu安裝docker

服務 lin 緩存 art deb 定性 如果 -h 成功 建議使用Ubuntu 16.04或更高版本。 先卸載可能存在的舊版本: $ sudo apt-get remove docker docker-engine docker-ce docker.io 更新apt包索引

ubuntu安裝docker 打包 python images

ubuntu下安裝python apt-get update apt-get install python3 apt-get install python3-pip apt-get install py

Ubuntu安裝 Docker

Ubuntu在14.02開始就已經集成了Docker,要安裝很簡單: sudo apt-get update sudo apt-get install docker.io sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker sudo sed

Ubuntu安裝 Docker

檢查 Device Mapper 是否存在 [email protected]:~$ ls -l /sys/class/misc/device-mapper 安裝 Ubuntu 維護的版本 [email protected]:~$ sudo apt-get i

ubuntu離線安裝docker及問題解決

包下載連結 https://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_1.12.3-0~xenial_amd64.deb 上傳伺服器並安裝 # dpkg -i docker-engine_1.12.3-0-x

ubuntu安裝docker-compose遇到Permission denied問題

根據github.com/docker/compose/releases中安裝compose的說明,在ubuntu上執行以下安裝命令:  curl -L https://github.com/docker/compose/releases/download/1.8.0/do

Docker學習(1):在Ubuntu安裝Docker和關於容器的常用命令

一、Docker的安裝條件   1.執行64位CPU架構的計算機,Docker目前不支援32位CPU;   2.建議採用Linux3.8或更高版本的核心;   3.核心必須支援一種適合的儲存驅動  

ubuntu安裝docker遇到的坑

按照官網的教程: https://docs.docker.com/engine/installation/linux/ubuntulinux/ 使用 sudo apt-get upgrade 後,

ubuntu安裝docker

1、我這邊準備的系統是: [email protected]:~# uname -aLinux ubuntu 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/

Ubuntu安裝Docker,新增Docker官方GPG key失敗,解決方案

1.新增Docker官方GPG key: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 2.問題來了,有的人會遇到如下的Bug:  3.本人給出的解決方案,親