2026新版Ubuntu安裝Docker(20.10+)和Docker Compose全過程
一、安裝Docker
準(zhǔn)備環(huán)境
#安裝前先卸載操作系統(tǒng)默認(rèn)安裝的docker, sudo apt-get remove docker docker-engine docker.io containerd runc #安裝必要支持 sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
配置Docker 軟件包的下載源(apt源),是用來下載 Docker 軟件本身(比如docker-ce、docker-compose-plugin)的服務(wù)器地址,相當(dāng)于 Docker 安裝包的下載倉庫,配置的目的是為了更快下載安裝Docker軟件包。
#Docker官方源 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg #阿里源 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg #添加apt源: echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt-get update
安裝Docker
sudo apt install docker-ce docker-ce-cli containerd.io sudo docker version sudo systemctl status docker
允許非root用戶使用docker
sudo groupadd docker sudo usermod -aG docker $USER newgrp docker docker ps -a
更新~/.bashrc文件,在bashrc文件末尾加上這行代碼
groupadd -f docker
如果你沒有代理,那么需要配置Docker 鏡像的加速源,目的是更快地拉取容器鏡像,創(chuàng)建/etc/docker/daemon.json文件,寫入以下內(nèi)容。
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
如果你有代理的話,那么就可以拉取Docker官方的鏡像了,注意要把代理的局域網(wǎng)連接打開,讓代理監(jiān)聽0.0.0.0:8888,允許局域網(wǎng)內(nèi)的其他設(shè)備(包括 WSL2、 虛擬機(jī))訪問這個(gè)代理端口,需要注意的是,允許局域網(wǎng)連接和系統(tǒng)代理是兩個(gè)獨(dú)立的開關(guān),關(guān)閉系統(tǒng)代理不代表關(guān)閉代理服務(wù)本身,系統(tǒng)代理是「客戶端要不要用」,允許局域網(wǎng)是「服務(wù)端要不要對外提供」。
# 1. 創(chuàng)建Docker服務(wù)的代理配置目錄(若不存在) sudo mkdir -p /etc/systemd/system/docker.service.d # 2. 編輯代理配置文件 sudo vim /etc/systemd/system/docker.service.d/proxy.conf # 3. 粘貼以下內(nèi)容(端口號(hào)要替換你自己代理監(jiān)聽的端口號(hào)) [Service] Environment="HTTP_PROXY=http://host.docker.internal:7890" Environment="HTTPS_PROXY=http://host.docker.internal:7890" Environment="NO_PROXY=localhost,127.0.0.1,::1,host.docker.internal" # 5. 重新加載配置并重啟Docker sudo systemctl daemon-reload sudo systemctl restart docker # 6. 驗(yàn)證代理是否生效 docker info | grep -i proxy # 若輸出 "HTTP Proxy: http://127.0.0.1:7890" 等內(nèi)容,說明配置成功 curl https://registry-1.docker.io -v #或者curl -x http://127.0.0.1:7890 https://registry-1.docker.io -v #如果返回內(nèi)容,說明代理有效
重啟Docker
sudo systemctl restart docker
二、安裝Docker Compose
上面安裝的是Docker引擎,是容器的基礎(chǔ)運(yùn)行環(huán)境,Docker Compose 是基于 Docker 的多容器編排工具——Compose 必須依賴 Docker 引擎才能工作,是對 Docker 功能的補(bǔ)充。
Docker是容器技術(shù)的 基石,負(fù)責(zé)容器的創(chuàng)建、運(yùn)行、管理,核心作用包括:
- 打包應(yīng)用:將應(yīng)用及其依賴打包成標(biāo)準(zhǔn)化的 容器鏡像;
- 運(yùn)行容器:基于鏡像啟動(dòng)獨(dú)立的容器實(shí)例(隔離的進(jìn)程環(huán)境);
- 管理容器:提供
docker run/docker stop/docker ps等命令,管理單個(gè)容器的生命周期; - 構(gòu)建鏡像:通過
docker build基于Dockerfile構(gòu)建自定義鏡像。
Docker Compose是管理多容器應(yīng)用的工具,核心作用是:
- 定義多容器關(guān)系:通過一個(gè)
docker-compose.yml文件,描述多個(gè)容器的配置; - 一鍵啟停多容器:用
docker compose up啟動(dòng)所有關(guān)聯(lián)容器,用docker compose down停止并清理,替代手動(dòng)逐個(gè)docker run;
Ubuntu可以直接通過 Docker 官方插件安裝,并且會(huì)自動(dòng)匹配Docker引擎版本
# 更新源并安裝Compose插件 sudo apt update && sudo apt install -y docker-compose-plugin docker compose version
如果輸出Docker Compose version v5.0.0之類的信息,那么就安裝成功了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用iptables來配置linux禁止所有端口登陸和開放指定端口的方法
下面小編就為大家?guī)硪黄胕ptables來配置linux禁止所有端口登陸和開放指定端口的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
Linux shuf命令實(shí)現(xiàn)隨機(jī)打亂行順序
shuf命令用于隨機(jī)打亂行順序,適用于隨機(jī)抽樣、生成隨機(jī)數(shù)等,常用選項(xiàng)包括-n指定輸出行數(shù)、-i生成范圍內(nèi)的整數(shù)、-e從參數(shù)中抽取數(shù)據(jù),示例展示了如何亂序文件行、生成隨機(jī)數(shù)字、從參數(shù)中抽取數(shù)據(jù)2025-11-11
Linux下Apache安裝/增加mod_rewrite模塊的方法
如果你的服務(wù)器apache還沒有安裝,那很簡單,在編譯apache時(shí)將mod_rewrite模塊編譯進(jìn)去就可以。如果你的apache已經(jīng)安裝好了,現(xiàn)在只想編譯出mod_rewrite.so模塊,在apache中進(jìn)行加載,下面介紹這個(gè)方法。2010-07-07
Linux中獲取系統(tǒng)運(yùn)行時(shí)間的多種方法詳解
在開發(fā) 、測試和運(yùn)維中,獲取系統(tǒng)運(yùn)行時(shí)間是一個(gè)很重要的參數(shù)指標(biāo),本文為大家整理了一些常用的獲取系統(tǒng)時(shí)間的方法,希望對大家有所幫助2025-03-03
Linux系統(tǒng)創(chuàng)建TCP連接流程介紹
大家好,本篇文章主要講的是Linux系統(tǒng)創(chuàng)建TCP連接流程,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下哦,方便下次瀏覽2021-12-12
Centos下配置Redis開機(jī)啟動(dòng)腳本
本篇文章主要介紹了redis之Centos下配置Redis開機(jī)啟動(dòng)腳本,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02

