Docker是一個開源的應用程式容器引擎,提供了容器的自動化打包、分發和啟動並執行工具和服務,具有隔離性好、可移植性強、易於管理等優勢。本文主要介紹如何在LinuxSimple Application Server中安裝和使用Docker與Docker Compose。
關於Docker的更多資訊,請參見Docker概述。
如果您希望快速部署Docker環境。具體操作,請參見快速部署Docker。
準備工作
已建立LinuxSimple Application Server,並滿足以下配置。具體操作,請參見建立Simple Application Server。
LinuxSimple Application Server入方向允許存取80和22連接埠。具體操作,請參見防火牆設定。
部署Docker
遠端連線Simple Application Server。具體操作,請參見遠端連線Linux伺服器。
根據伺服器的作業系統,選擇對應的操作,部署Docker。
Alibaba Cloud Linux 3
在安裝最新版本的Docker之前,請確保先卸載當前安裝的Docker及其相關組件,避免潛在的安裝衝突和相容性問題。
執行以下命令安裝Docker社區版本。
說明如果您使用的是非阿里雲伺服器,請將
http://mirrors.cloud.aliyuncs.com替換為https://mirrors.aliyun.com。#添加Docker軟體包源 sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo #Alibaba Cloud Linux3專用的dnf源相容外掛程式 sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus #安裝Docker社區版本,容器運行時containerd.io,以及Docker構建和Compose外掛程式 sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #啟動Docker sudo systemctl start docker #設定Docker守護進程在系統啟動時自動啟動 sudo systemctl enable docker通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v如下圖回顯資訊所示,表示Docker已安裝成功。

Alibaba Cloud Linux 2
在安裝最新版本的Docker之前,請確保先卸載當前安裝的Docker及其相關組件,避免潛在的安裝衝突和相容性問題。
執行以下命令安裝Docker社區版本。
說明如果您使用的是非阿里雲伺服器,請將
http://mirrors.cloud.aliyuncs.com替換為https://mirrors.aliyun.com。#添加Docker軟體包源 sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo #Alibaba Cloud Linux2專用的yum源相容外掛程式 sudo yum install yum-plugin-releasever-adapter --disablerepo=* --enablerepo=plus #安裝Docker社區版本,容器運行時containerd.io,以及Docker構建和Compose外掛程式 sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #啟動Docker sudo systemctl start docker #設定Docker守護進程在系統啟動時自動啟動 sudo systemctl enable docker通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v如下圖回顯資訊所示,表示Docker已安裝成功。

CentOS 7.x
在安裝最新版本的Docker之前,請確保先卸載當前安裝的Docker及其相關組件,避免潛在的安裝衝突和相容性問題。
執行以下命令安裝Docker社區版本。
說明如果您使用的是非阿里雲伺服器,請將
http://mirrors.cloud.aliyuncs.com替換為https://mirrors.aliyun.com。#添加Docker軟體包源 sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo #安裝Docker社區版本,容器運行時containerd.io,以及Docker構建和Compose外掛程式 sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #啟動Docker sudo systemctl start docker #設定Docker守護進程在系統啟動時自動啟動 sudo systemctl enable docker通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v如下圖回顯資訊所示,表示Docker已安裝成功。

CentOS 8.x
在安裝最新版本的Docker之前,請確保先卸載當前安裝的Docker及其相關組件,避免潛在的安裝衝突和相容性問題。
執行以下命令安裝Docker社區版本。
說明如果您使用的是非阿里雲伺服器,請將
http://mirrors.cloud.aliyuncs.com替換為https://mirrors.aliyun.com。#添加Docker軟體包源 sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo #安裝Docker社區版本,容器運行時containerd.io,以及Docker構建和Compose外掛程式 sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #啟動Docker sudo systemctl start docker #設定Docker守護進程在系統啟動時自動啟動 sudo systemctl enable docker通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v如下圖回顯資訊所示,表示Docker已安裝成功。

Ubuntu
在安裝最新版本的Docker之前,請確保先卸載當前安裝的Docker及其相關組件,避免潛在的安裝衝突和相容性問題。
執行以下命令安裝Docker社區版本。
說明如果您使用的是非阿里雲伺服器,請將
http://mirrors.cloud.aliyuncs.com替換為https://mirrors.aliyun.com。#更新包管理工具 sudo apt-get update #添加Docker軟體包源 sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" #安裝Docker社區版本,容器運行時containerd.io,以及Docker構建和Compose外掛程式 sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #啟動Docker sudo systemctl start docker #設定Docker守護進程在系統啟動時自動啟動 sudo systemctl enable docker通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v如下圖回顯資訊所示,表示Docker已安裝成功。

Debian
在安裝最新版本的Docker之前,請確保先卸載當前安裝的Docker及其相關組件,避免潛在的安裝衝突和相容性問題。
執行以下命令安裝Docker社區版本。
說明如果您使用的是非阿里雲伺服器,請將
http://mirrors.cloud.aliyuncs.com替換為https://mirrors.aliyun.com。#更新包管理工具 sudo apt-get update #添加Docker軟體包源 sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/debian/gpg | sudo apt-key add - sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/debian $(lsb_release -cs) stable" #安裝Docker社區版本,容器運行時containerd.io,以及Docker構建和Compose外掛程式 sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #啟動Docker sudo systemctl start docker #設定Docker守護進程在系統啟動時自動啟動 sudo systemctl enable docker通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v如下圖回顯資訊所示,表示Docker已安裝成功。

Fedora
在安裝最新版本的Docker之前,請確保先卸載當前安裝的Docker及其相關組件,避免潛在的安裝衝突和相容性問題。
執行以下命令安裝Docker社區版本。
說明如果您使用的是非阿里雲伺服器,請將
http://mirrors.cloud.aliyuncs.com替換為https://mirrors.aliyun.com。#添加Docker軟體包源 sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/fedora/docker-ce.repo sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo #安裝Docker社區版本,容器運行時containerd.io,以及Docker構建和Compose外掛程式 sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #啟動Docker sudo systemctl start docker #設定Docker守護進程在系統啟動時自動啟動 sudo systemctl enable docker通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v如下圖回顯資訊所示,表示Docker已安裝成功。

Red Hat
在安裝最新版本的Docker之前,請確保先卸載當前安裝的Docker及其相關組件,避免潛在的安裝衝突和相容性問題。
執行以下命令安裝Docker社區版本。
說明如果您使用的是非阿里雲伺服器,請將
http://mirrors.cloud.aliyuncs.com替換為https://mirrors.aliyun.com。#添加Docker軟體包源 sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/rhel/docker-ce.repo sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo #安裝Docker社區版本,容器運行時containerd.io,以及Docker構建和Compose外掛程式 sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #啟動Docker sudo systemctl start docker #設定Docker守護進程在系統啟動時自動啟動 sudo systemctl enable docker通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v如下圖回顯資訊所示,表示Docker已安裝成功。

Anolis OS
在安裝最新版本的Docker之前,請確保先卸載當前安裝的Docker及其相關組件,避免潛在的安裝衝突和相容性問題。
執行以下命令安裝Docker社區版本。
說明如果您使用的是非阿里雲伺服器,請將
http://mirrors.cloud.aliyuncs.com替換為https://mirrors.aliyun.com。#添加Docker軟體包源 sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo #安裝Docker社區版本,容器運行時containerd.io,以及Docker構建和Compose外掛程式 sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin #啟動Docker sudo systemctl start docker #設定Docker守護進程在系統啟動時自動啟動 sudo systemctl enable docker通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v如下圖回顯資訊所示,表示Docker已安裝成功。

建立簡單Web程式鏡像
以下是建立基於Nginx鏡像的簡單Web程式鏡像。
構建Web程式鏡像。
#拉取Nginx鏡像 sudo docker pull nginx:latest #建立Dockerfile設定Nginx作為基礎鏡像,並在Web伺服器的根目錄建立一個顯示Hello World!的index.html檔案。 sudo tee Dockerfile <<-'EOF' FROM nginx:latest RUN echo 'Hello World!' > /usr/share/nginx/html/index.html EOF #構建鏡像,鏡像名稱為hello-world sudo docker build . -t hello-world:latest啟動Web程式鏡像的容器,並且命名容器名稱為
hello-world。sudo docker run -d -p 80:80 --name hello-world hello-world:latest執行
curl http://localhost命令,驗證Web程式是否正確顯示Hello World!。
安裝Docker Compose
如果您參考的本文安裝Docker,那麼Compose外掛程式將預設安裝到您的執行個體中。您可以通過如下命令查看。
sudo docker compose version預期輸出(vN.N.N代表Compose的版本):Docker Compose version vN.N.N。
如果您的Compose外掛程式未成功安裝或您需要使用Compose獨立版(docker-compose)可參考下面內容。
使用Compose獨立版時,命令中間要用連字號,比如
docker-compose up。使用Compose外掛程式時,命令中間不用連字號,比如
docker compose up。
Compose外掛程式
Alibaba Cloud Linux 3、CentOS 8.x、Fedora
sudo dnf -y install docker-compose-pluginUbuntu、Debian
sudo apt-get -y install docker-compose-pluginAlibaba Cloud Linux 2、CentOS 7.x、Red Hat、Anolis OS
sudo yum -y install docker-compose-plugin使用查看Compose版本命令,驗證Compose是否安裝成功。
sudo docker compose versionCompose獨立版
下載並安裝Compose獨立版。
說明在嘗試訪問GitHub時,您可能會遇到由於網路問題導致的訪問逾時或串連失敗等異常情況。為瞭解決這些問題,請嘗試多次重新串連。
curl -SL https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose #將可執行許可權賦予安裝目標路徑中的獨立二進位檔案 sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose執行查看版本命令,測試是否安裝成功。
sudo docker-compose version
使用Docker Compose部署應用
以下是建立基於WordPress鏡像的Web程式。
建立Compose編排檔案並啟動WordPress服務。
#建立編排檔案,添加Mysql與WordPress sudo tee docker-compose.yaml <<-'EOF' version: '3.1' services: wordpress: image: wordpress restart: always ports: - "80:80" environment: #資料庫地址 WORDPRESS_DB_HOST: db #資料庫使用者名稱 WORDPRESS_DB_USER: wordpress #資料庫密碼 WORDPRESS_DB_PASSWORD: 123456 #資料庫名稱 WORDPRESS_DB_NAME: wordpress volumes: - wordpress:/var/www/html db: image: mysql:5.7 restart: always ports: - "3306:3306" environment: #資料庫名稱 MYSQL_DATABASE: wordpress #資料庫使用者名稱 MYSQL_USER: wordpress #資料庫密碼 MYSQL_PASSWORD: 123456 #資料庫ROOT使用者密碼 MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql volumes: wordpress: db: EOF #啟動服務容器。 sudo env "PATH=$PATH" docker compose up -d在瀏覽器中輸入
https://輕量應用服務執行個體的公網IP,即可進入WordPress配置頁面,您可以根據介面提示配置相關參數後,訪問WordPress。
常見問題
http://mirrors.cloud.aliyuncs.com無法訪問
執行dnf config-manager命令報錯
執行dnf install docker-ce命令報錯
相關文檔
Docker的更多使用方法,請參見Docker官方文檔。
阿里雲推出了製品中心,為開發人員免費提供了來源於阿里雲官方、龍蜥社區的安全可信容器基礎鏡像。
您可以使用企業P2P加速功能提升鏡像拉取速度。具體操作,請參見在其他容器環境中使用P2P加速。
您可以在Docker中配置CLI來管理您的阿里雲資源。具體操作,請參見在Docker容器中運行阿里雲CLI。