Docker是一個開放平台,用於開發、發布和運行應用程式。如果您需要在執行個體上安裝和使用Docker,可以參考本文,文中將介紹如何在執行個體上部署Docker以及一些基本的操作方法。
安裝Docker
Alibaba Cloud Linux 3
在安裝最新版本的Docker之前,您可以使用docker -v
命令來檢查當前的Docker版本。如果提示沒有此命令,說明您還未安裝Docker,若已安裝舊版本的Docker,則需先卸載及其相關組件。
更新您的包管理工具。
sudo dnf -y update
添加阿里雲源到您的執行個體中,這個源包含Docker軟體包,方便您使用命令來安裝和更新Docker。
如果您的執行個體網路可以訪問公網。
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
如果您的執行個體網路無法訪問公網,使用VPC網路訪問地址。
sudo dnf config-manager --add-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構建和編排工具的外掛程式。
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
啟動Docker並設定Docker守護進程在系統啟動時自動啟動,這樣可以確保每次系統啟動時,Docker服務也會自動啟動。
說明如果您的systemctl命令執行異常,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?
sudo systemctl start docker sudo systemctl enable docker
通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v
如下圖回顯資訊所示,表示Docker已安裝成功。
Alibaba Cloud Linux 2
在安裝最新版本的Docker之前,您可以使用docker -v
命令來檢查當前的Docker版本。如果提示沒有此命令,說明您還未安裝Docker,若已安裝舊版本的Docker,則需先卸載及其相關組件。
更新您的包管理工具。
sudo yum -y update
添加阿里雲源到您的執行個體中,這個源包含Docker軟體包,方便您使用命令來安裝和更新Docker。
如果您的執行個體網路可以訪問公網。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
如果您的執行個體網路無法訪問公網,使用VPC網路訪問地址。
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構建和編排工具的外掛程式。
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
啟動Docker並設定Docker守護進程在系統啟動時自動啟動,這樣可以確保每次系統啟動時,Docker服務也會自動啟動。
說明如果您的systemctl命令執行異常,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?
sudo systemctl start docker sudo systemctl enable docker
通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v
如下圖回顯資訊所示,表示Docker已安裝成功。
CentOS 7.x
在安裝最新版本的Docker之前,您可以使用docker -v
命令來檢查當前的Docker版本。如果提示沒有此命令,說明您還未安裝Docker,若已安裝舊版本的Docker,則需先卸載及其相關組件。
更新您的包管理工具。
sudo yum -y update
添加阿里雲源到您的執行個體中,這個源包含Docker軟體包,方便您使用命令來安裝和更新Docker。
如果您的執行個體網路可以訪問公網。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
如果您的執行個體網路無法訪問公網,使用VPC網路訪問地址。
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構建和編排工具的外掛程式。
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
啟動Docker並設定Docker守護進程在系統啟動時自動啟動,這樣可以確保每次系統啟動時,Docker服務也會自動啟動。
說明如果您的systemctl命令執行異常,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?
sudo systemctl start docker sudo systemctl enable docker
通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v
如下圖回顯資訊所示,表示Docker已安裝成功。
CentOS 8.x
在安裝最新版本的Docker之前,您可以使用docker -v
命令來檢查當前的Docker版本。如果提示沒有此命令,說明您還未安裝Docker,若已安裝舊版本的Docker,則需先卸載及其相關組件。
更新您的包管理工具。
sudo dnf -y update
添加阿里雲源到您的執行個體中,這個源包含Docker軟體包,方便您使用命令來安裝和更新Docker。
如果您的執行個體網路可以訪問公網。
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
如果您的執行個體網路無法訪問公網,使用VPC網路訪問地址。
sudo dnf config-manager --add-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構建和編排工具的外掛程式。
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
啟動Docker並設定Docker守護進程在系統啟動時自動啟動,這樣可以確保每次系統啟動時,Docker服務也會自動啟動。
說明如果您的systemctl命令執行異常,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?
sudo systemctl start docker sudo systemctl enable docker
通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v
如下圖回顯資訊所示,表示Docker已安裝成功。
Ubuntu
在安裝最新版本的Docker之前,您可以使用docker -v
命令來檢查當前的Docker版本。如果提示沒有此命令,說明您還未安裝Docker,若已安裝舊版本的Docker,則需先卸載及其相關組件。
更新您的包管理工具。
sudo apt-get update
添加阿里雲源到您的執行個體中,這個源包含Docker軟體包,方便您使用命令來安裝和更新Docker。
如果您的執行個體網路可以訪問公網。
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add - sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
如果您的執行個體網路無法訪問公網,使用VPC網路訪問地址。
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 | 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構建和編排工具的外掛程式。
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
啟動Docker並設定Docker守護進程在系統啟動時自動啟動,這樣可以確保每次系統啟動時,Docker服務也會自動啟動。
說明如果您的systemctl命令執行異常,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?
sudo systemctl start docker sudo systemctl enable docker
通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v
如下圖回顯資訊所示,表示Docker已安裝成功。
Debian
在安裝最新版本的Docker之前,您可以使用docker -v
命令來檢查當前的Docker版本。如果提示沒有此命令,說明您還未安裝Docker,若已安裝舊版本的Docker,則需先卸載及其相關組件。
更新您的包管理工具。
sudo apt-get update
添加阿里雲源到您的執行個體中,這個源包含Docker軟體包,方便您使用命令來安裝和更新Docker。
如果您的執行個體網路可以訪問公網。
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | apt-key add - sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable" sudo apt-get update
如果您的執行個體網路無法訪問公網,使用VPC網路訪問地址。
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 | 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" sudo apt-get update
安裝Docker社區版本,容器運行時containerd.io,以及Docker構建和編排工具的外掛程式。
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
啟動Docker並設定Docker守護進程在系統啟動時自動啟動,這樣可以確保每次系統啟動時,Docker服務也會自動啟動。
說明如果您的systemctl命令執行異常,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?
sudo systemctl start docker sudo systemctl enable docker
通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v
如下圖回顯資訊所示,表示Docker已安裝成功。
Fedora
在安裝最新版本的Docker之前,您可以使用docker -v
命令來檢查當前的Docker版本。如果提示沒有此命令,說明您還未安裝Docker,若已安裝舊版本的Docker,則需先卸載及其相關組件。
更新您的包管理工具。
sudo dnf -y update
添加阿里雲源到您的執行個體中,這個源包含Docker軟體包,方便您使用命令來安裝和更新Docker。
如果您的執行個體網路可以訪問公網。
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/fedora/docker-ce.repo
如果您的執行個體網路無法訪問公網,使用VPC網路訪問地址。
sudo dnf config-manager --add-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構建和編排工具的外掛程式。
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
啟動Docker並設定Docker守護進程在系統啟動時自動啟動,這樣可以確保每次系統啟動時,Docker服務也會自動啟動。
說明如果您的systemctl命令執行異常,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?
sudo systemctl start docker sudo systemctl enable docker
通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v
如下圖回顯資訊所示,表示Docker已安裝成功。
Red Hat
在安裝最新版本的Docker之前,您可以使用docker -v
命令來檢查當前的Docker版本。如果提示沒有此命令,說明您還未安裝Docker,若已安裝舊版本的Docker,則需先卸載及其相關組件。
更新您的包管理工具。
sudo dnf -y update
添加阿里雲源到您的執行個體中,這個源包含Docker軟體包,方便您使用命令來安裝和更新Docker。
如果您的執行個體網路可以訪問公網。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/rhel/docker-ce.repo
如果您的執行個體網路無法訪問公網,使用VPC網路訪問地址。
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構建和編排工具的外掛程式。
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
啟動Docker並設定Docker守護進程在系統啟動時自動啟動,這樣可以確保每次系統啟動時,Docker服務也會自動啟動。
說明如果您的systemctl命令執行異常,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?
sudo systemctl start docker sudo systemctl enable docker
通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v
如下圖回顯資訊所示,表示Docker已安裝成功。
Anolis OS
在安裝最新版本的Docker之前,您可以使用docker -v
命令來檢查當前的Docker版本。如果提示沒有此命令,說明您還未安裝Docker,若已安裝舊版本的Docker,則需先卸載及其相關組件。
更新您的包管理工具。
sudo yum -y update
添加阿里雲源到您的執行個體中,這個源包含Docker軟體包,方便您使用命令來安裝和更新Docker。
如果您的執行個體網路可以訪問公網。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
如果您的執行個體網路無法訪問公網,使用VPC網路訪問地址。
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構建和編排工具的外掛程式。
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
啟動Docker並設定Docker守護進程在系統啟動時自動啟動,這樣可以確保每次系統啟動時,Docker服務也會自動啟動。
說明如果您的systemctl命令執行異常,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?
sudo systemctl start docker sudo systemctl enable docker
通過查看Docker版本命令,驗證Docker是否安裝成功。
sudo docker -v
如下圖回顯資訊所示,表示Docker已安裝成功。
建立簡單Web程式鏡像
接下來,我將為您示範使用Nginx鏡像作為基礎鏡像,建立簡單Web程式鏡像。
前期準備
您的執行個體可以串連公網,使用docker pull
命令擷取Nginx最新版鏡像。
sudo docker pull nginx:latest
建立鏡像
您需要建立一個名為
Dockerfile
的檔案。Dockerfile
是一個特殊的文字檔,它用來定義如何構建一個 Docker 鏡像。這個檔案會告訴Docker需要使用哪個基礎鏡像,以及在這個基礎鏡像上需要安裝哪些軟體和進行哪些配置。sudo touch Dockerfile
編輯建立的
Dockerfile
並新增內容。FROM nginx:latest RUN echo 'Hello World!' > /usr/share/nginx/html/index.html
使用Dockerfile構建您的鏡像。
sudo docker build . -t hello-world:latest
為您的新鏡像建立容器,並且命名容器名稱為
hello-world
。sudo docker run -d -p 80:80 --name hello-world hello-world:latest
驗證您的鏡像,執行命令
curl http://localhost
,輸出hello world!
。
常見問題
Linux ECS執行個體中執行dnf config-manager命令報錯
Linux ECS執行個體中執行dnf install docker-ce命令報錯
相關文檔
Docker的更多使用方法,請參見Docker官方文檔。
按照本文檔中的步驟操作後,Docker Compose將預設安裝到您的執行個體中。若在操作過程中發現Docker Compose未成功安裝,請參見Docker官方安裝文檔。
阿里雲推出了製品中心,為開發人員免費提供了來源於阿里雲官方、龍蜥社區的安全可信容器基礎鏡像。
您可以使用企業P2P加速功能提升鏡像拉取速度。具體操作,請參見在其他容器環境中使用P2P加速。
您可以在Docker中配置CLI來管理您的阿里雲資源。具體操作,請參見在Docker中配置阿里雲CLI。