Ubuntu安裝Docker及配置鏡像加速與常見命令超詳細教程
一、前言
Docker 已經成為現(xiàn)代軟件開發(fā)、測試和部署的基石。它通過容器化技術,讓應用及其依賴可以打包在一起,在任何環(huán)境中以一致的方式運行。對于開發(fā)者(尤其是像我們Java后端的)來說,無論是部署微服務、搭建測試環(huán)境(如 MySQL, Redis, Nacos),還是實現(xiàn) CI/CD,Docker 都是必備技能。
這篇博客是我在 Ubuntu 系統(tǒng)上安裝和使用 Docker 的個人筆記,涵蓋了安裝、配置和常用命令,希望能幫助大家少走彎路。
二、Docker 的安裝 (Ubuntu)
我們的安裝步驟將使用阿里云的鏡像源,這可以大大提高安裝速度。
1. 卸載舊版本(可選)
如果你的系統(tǒng)之前安裝過舊的 Docker 版本,建議先執(zhí)行卸載:
# 執(zhí)行以下命令卸載可能存在的舊版本 sudo apt-get remove docker docker-engine docker.io containerd runc
2. 配置 Docker 的 APT 倉庫
我們需要添加 Docker 官方的 GPG 密鑰(用于驗證軟件包)并設置 APT 軟件源。
# 1. 更新apt包索引并安裝依賴,以允許apt通過HTTPS使用倉庫 sudo apt-get update sudo apt-get install -y ca-certificates curl # 2. 添加Docker的官方GPG密鑰(使用阿里云鏡像加速) sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # 3. 設置Docker的APT軟件源(同樣使用阿里云鏡像) echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 4. 更新apt包索引,建立緩存 sudo apt-get update
3. 安裝 Docker
配置好軟件源后,我們就可以執(zhí)行安裝了:
# 執(zhí)行命令,安裝Docker CE(社區(qū)版)相關組件 sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4. 啟動和校驗
安裝完成后,啟動 Docker 并設置為開機自啟。
# 啟動Docker sudo systemctl start docker # 設置開機自啟 sudo systemctl enable docker # 校驗安裝啟動是否成功(不報錯即可) sudo docker ps
當你看到 docker ps 命令成功輸出(即使是空的列表),說明 Docker 已經安裝并成功運行了。
三、配置鏡像加速(強烈建議!)
在國內直接從 Docker Hub(官方庫)拉取鏡像(docker pull)時,速度會非常慢,甚至經常失敗。因此,配置國內的鏡像加速器是必須的步驟。
1. 編輯 daemon.json 配置文件
我們需要創(chuàng)建或編輯 /etc/docker/daemon.json 文件。這里我們使用 tee 命令直接寫入內容,比 nano 或 vim 更方便。(直接完整的復制粘貼即可)
# 使用tee命令將配置內容寫入daemon.json文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/"
],
"insecure-registries": [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"debug": true,
"experimental": false
}
EOF
注意:上面的列表包含了非常多的鏡像源。Docker 會按順序嘗試,選擇最快的一個。
2. 重新加載配置并重啟 Docker
修改配置后,必須重新加載并重啟 Docker 服務才能生效。
sudo systemctl daemon-reload sudo systemctl restart docker
現(xiàn)在,你再執(zhí)行 docker pull(例如 docker pull nginx),會發(fā)現(xiàn)速度有了質的飛躍。
四、Docker 常見指令
以下是我在日常使用中總結的常用命令。
1. Docker 服務相關命令 (systemctl)
systemctl start docker # 開啟docker systemctl stop docker # 停止docker systemctl restart docker # 重啟docker systemctl enable docker # 設置開機啟動docker systemctl status docker # 查看docker狀態(tài)
2. 鏡像相關命令
docker images # 查看本地所有鏡像 docker search [鏡像名] # 從Docker Hub搜索鏡像 docker pull [鏡像名]:[版本] # 拉取鏡像(不寫版本默認latest) docker rmi [鏡像ID/鏡像名] # 刪除指定鏡像 docker rmi -f $(docker images -aq) # 強制刪除所有鏡像
3. 容器相關命令
這是 Docker 命令的核心,特別是 docker run。
# 查看容器 docker ps # 查看正在運行的容器 docker ps -a # 查看所有容器(包括已停止的) # 運行容器 (docker run) docker run [參數] [鏡像名] # 基于鏡像啟動一個新容器
docker run常見參數詳解:
docker run 是最復雜的命令,掌握好參數非常重要:
-d: 后臺運行容器(daemonize)。-p [宿主機端口]:[容器端口]: 端口映射。例如-p 8080:80,將宿主機的 8080 端口映射到容器的 80 端口。-v [宿主機目錄]:[容器目錄]: 卷掛載。用于數據持久化,例如-v /mydata/mysql:/var/lib/mysql。--name [容器名]: 為容器指定一個名稱,方便管理。-e [環(huán)境變量名]=[值]: 設置環(huán)境變量。例如-e MYSQL_ROOT_PASSWORD=123456。--network [網絡名]: 指定容器加入的網絡。--restart=always: 設置容器的重啟策略。always表示無論何種情況退出,都自動重啟。
示例:
# 啟動一個Nginx容器,命名為my-nginx,后臺運行,并將宿主機的80端口映射到容器的80端口 docker run -d -p 80:80 --name my-nginx nginx
其他容器命令:
# 啟動/停止/重啟 容器 docker start [容器名/ID] # 啟動已停止的容器 docker stop [容器名/ID] # 停止正在運行的容器 docker restart [容器名/ID] # 重啟容器 # 刪除容器 docker rm [容器名/ID] # 刪除已停止的容器 docker rm -f [容器名/ID] # 強制刪除正在運行的容器 docker rm $(docker ps -aq) # 刪除所有已停止的容器 # 查看日志 docker logs [容器名/ID] # 查看容器日志 docker logs -f [容器名/ID] # 實時查看容器日志(類似 tail -f) # 容器開機自啟(針對已創(chuàng)建的容器) docker update --restart=always [容器名/ID]
總結
到此這篇關于Ubuntu安裝Docker及配置鏡像加速與常見命令的文章就介紹到這了,更多相關Ubuntu安裝Docker配置鏡像加速內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
liunx內存滿了,docker中overlay2爆表解決方案
這篇文章主要介紹了liunx內存滿了,docker中overlay2爆表解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08

