💢歡迎來到張翊塵的開源技術站
💥開源如江河,匯聚眾志成。代碼似星辰,照亮行征程。開源精神長,傳承永不忘。攜手共前行,未來更輝煌💥
文章目錄
- `Docker` 服務搭建
- 在 `Ubuntu` 上安裝 `Docker`
- 更新軟件包索引
- 安裝依賴包
- 添加密鑰
- 添加 `docker` 倉庫源
- 更新軟件包索引
- 確保從官方源安裝
- 安裝服務
- 將當前用戶添加到 `docker` 組
- 驗證
- 設置開機自啟
- 在 `CentOS` 上安裝 `Docker`
- 更新軟件包索引
- 安裝依賴項
- 添加 `Docker` 的官方軟件源
- 安裝 `Docker`
- 啟動并啟用 `Docker` 服務
- 驗證 `Docker` 安裝
- `Docker` 安裝后的常見配置
- 添加非 `root` 用戶到 `Docker` 組
- 修改鏡像下載加速器:
- 修改 `Docker` 存儲位置
- 啟用或禁用 `Docker` 的日志級別
- 配置 `Docker` 默認橋接網絡的 `IP` 地址
- 限制容器的資源使用
- 自動清理掛起的容器和未使用的鏡像
- 查看當前 `Docker` 的配置信息
- 驗證 `Docker` 配置
- 限制日志文件大小
- 修改 `Docker` 的 `Cgroup Driver`
Docker
服務搭建
在 Ubuntu
上安裝 Docker
更新軟件包索引
sudo apt-get update
安裝依賴包
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
如果無法訪問外網,則使用國內倉庫:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
添加 docker
倉庫源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
如果無法訪問外網,則使用國內倉庫:
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
更新軟件包索引
sudo apt-get update
確保從官方源安裝
apt-cache policy docker-ce
安裝服務
sudo apt-get install -y docker-ce
將當前用戶添加到 docker
組
sudo usermod -aG docker ${USER}
驗證
docker --version
設置開機自啟
sudo systemctl enable docker.service
在 CentOS
上安裝 Docker
更新軟件包索引
sudo yum update
安裝依賴項
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加 Docker
的官方軟件源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
如果無法訪問外網,則使用國內倉庫:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安裝 Docker
sudo yum install docker-ce docker-ce-cli containerd.io
啟動并啟用 Docker
服務
sudo systemctl start docker
sudo systemctl enable docker
驗證 Docker
安裝
sudo docker --version
sudo docker run hello-world
Docker
安裝后的常見配置
默認配置文件位置:
/etc/docker/daemon.json
添加非 root
用戶到 Docker
組
默認情況下,Docker
需要 root
權限。如果希望讓非 root
用戶可以運行 Docker
,執行以下命令:
sudo usermod -aG docker $USER
修改鏡像下載加速器:
- 阿里云:https://<你的加速器ID>.mirror.aliyuncs.com
- 騰訊云:https://mirror.ccs.tencentyun.com
Docker
中國官方:https://registry.docker-cn.com
國內使用 Docker
時,默認的鏡像下載速度可能較慢。你可以通過配置鏡像加速器來提升下載速度。在 /etc/docker/daemon.json
中添加:
{"registry-mirrors": ["https://<阿里云鏡像加速器地址>"]
}
修改 Docker
存儲位置
Docker
默認會將所有的鏡像、容器、數據卷等存儲在 /var/lib/docker
目錄下。如果需要更改存儲位置,可以在配置文件中修改。在 /etc/docker/daemon.json
中添加或修改以下內容:
{"data-root": "/new/path/to/docker"
}
這會將 Docker
的所有數據(鏡像、容器、卷等)存儲到 /new/path/to/docker
路徑下。
啟用或禁用 Docker
的日志級別
"debug"
:最詳細的日志信息。"info"
:默認級別,記錄常規的日志信息。"warn"
:僅記錄警告信息。"error"
:僅記錄錯誤信息。"fatal"
:僅記錄嚴重錯誤。
Docker
默認會記錄日志,有時候需要根據問題的嚴重性調整日志的詳細程度。可以在配置文件中設置日志級別。
{"log-level": "error"
}
配置 Docker
默認橋接網絡的 IP
地址
默認情況下,Docker
使用 172.17.0.0/16
網段為容器分配 IP
。如果與現有網絡發生沖突,可以修改默認的橋接網絡配置。
{"bip": "192.168.1.5/24"
}
限制容器的資源使用
--memory="1g"
:將容器的內存限制為 1GB。--cpus="1.5"
:限制容器使用最多 1.5 個 CPU。--memory-swap="2g"
:指定容器的swap
大小。
如果需要限制容器的 CPU
和內存使用,可以通過配置容器的資源限制。啟動容器時,通過命令行參數配置:
docker run -d --name my_container --memory="1g" --cpus="1.5" --memory-swap="2g" my_image
自動清理掛起的容器和未使用的鏡像
Docker
容器和鏡像長期不清理會占用大量存儲空間,可以啟用自動清理功能。在 /etc/docker/daemon.json
中添加:
{"live-restore": true
}
查看當前 Docker
的配置信息
docker info
驗證 Docker
配置
dockerd --config-file /etc/docker/daemon.json
限制日志文件大小
max-size
:限制每個日志文件的大小,10m
表示10MB
。max-file
:限制日志文件的數量,超過 3 個文件時,舊的日志文件將被刪除。
Docker
容器運行時會產生大量日志,可能會占用大量存儲空間。你可以限制日志文件的大小和保留數量。修改 /etc/docker/daemon.json
文件,添加以下配置:
{"log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"}
}
修改 Docker
的 Cgroup Driver
在 Docker
中,Cgroup Driver
決定了 Docker
容器如何與 Linux
的 cgroups
(控制組)子系統進行交互,用于管理和限制容器的資源使用。Docker
支持兩種 Cgroup Driver
:systemd
、cgroupfs
。
默認情況下,Docker
通常使用 cgroupfs
,但如果系統使用了 systemd
,推薦切換為 systemd
驅動,以便更好地與系統集成。
{"exec-opts": ["native.cgroupdriver=systemd"]
}
🌺🌺🌺撒花!
如果本文對你有幫助,就點關注或者留個👍
如果您有任何技術問題或者需要更多其他的內容,請隨時向我提問。