Docker環境搭建與容器操作全攻略:從入門到實戰

一、環境搭建

1.1 基礎包安裝(最小化系統)

# 備份Yum源配置  
mkdir /etc/yum.repos.d/bak  
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/  配置Yum源示例 可以更換為阿里云鏡像  
cat <<EOF > /etc/yum.repos.d/local.repo  
[baseos]  
name=baseos  
baseurl=file:///mnt/BaseOS/  
gpgcheck=0  [app]  
name=app  
baseurl=file:///mnt/AppStream/  
gpgcheck=0  
EOF  # 刷新緩存并安裝工具包  
yum clean all  
yum install -y vim net-tools bash-completion yum-utils  

📌 關鍵說明

  • yum-utils 用于管理Docker倉庫
  • bash-completion 提供命令補全(執行 bash 刷新)

1.2 Docker安裝

# 添加阿里云倉庫  
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  # 安裝Docker  
yum install -y docker-ce  # 啟動服務  
systemctl start docker  
systemctl enable docker  
docker -v  # 驗證版本  

二、鏡像操作

2.1 核心命令

命令說明
docker search mysql搜索鏡像
docker pull centos:7.8.2003拉取指定版本
docker images查看本地鏡像
docker rmi mysql:latest刪除鏡像

2.2 鏡像生命周期管理

# 導出鏡像  
docker save mysql:latest -o mysql.tar  # 導入鏡像  
docker load -i mysql.tar  # 推送鏡像到倉庫  
docker tag alpine:latest registry.cn-hangzhou.aliyuncs.com/your-namespace/alpine:v1  
docker push registry.cn-hangzhou.aliyuncs.com/your-namespace/alpine:v1  

2.3 鏡像加速配置

# 阿里云加速器  
cat <<EOF > /etc/docker/daemon.json  
{  "registry-mirrors": ["https://cc2d8woc.mirror.aliyuncs.com"]  
}  
EOF  
systemctl restart docker  

三、容器操作

3.1 基礎操作

# 啟動容器  
docker run -tid --name os1 --restart always centos:latest  # 進入容器  
docker exec -ti os1 /bin/bash  # 查看日志  
docker logs os1  

3.2 容器生命周期

docker stop os1     # 停止容器  
docker start os1    # 啟動容器  
docker rm -f os1    # 刪除容器  

3.3 端口映射與變量傳遞

# Nginx容器  
docker run -tid --name web -p 8080:80 nginx  # MySQL容器  
docker run -tid --name db \  -p 3306:3306 \  -e MYSQL_ROOT_PASSWORD=redhat \  mysql:latest  

3.4 文件操作

# 主機→容器  
docker cp /path/file os1:/container/path/  # 容器→主機  
docker cp os1:/container/path/file /host/path/  

四、實戰案例:部署WordPress

4.1 創建MySQL容器

docker run -tid --name db \  -e MYSQL_ROOT_PASSWORD=redhat \  -e MYSQL_DATABASE=wordpress \  mysql:latest  

4.2 獲取MySQL IP

DB_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' db)  

4.3 啟動WordPress

docker run -tid --name blog \  -e WORDPRESS_DB_HOST=$DB_IP \  -e WORDPRESS_DB_USER=root \  -e WORDPRESS_DB_PASSWORD=redhat \  -p 8080:80 \  wordpress:latest  

🌐 訪問地址:http://服務器IP:8080


五、容器網絡

5.1 網絡類型

docker network ls  # 查看所有網絡  
  • bridge:默認網絡(推薦)
  • host:共享主機網絡
  • none:無網絡

5.2 自定義網絡

# 創建網絡  
docker network create my-net  # 容器加入網絡  
docker run -tid --name web --network my-net nginx  

六、容器存儲

6.1 永久卷存儲

# 具名卷(推薦)  
docker volume create mysql-data  
docker run -tid --name db -v mysql-data:/var/lib/mysql mysql  # 主機目錄映射  
docker run -tid --name web -v /host/data:/container/data nginx  

七、Dockerfile入門

7.1 示例文件

FROM centos:7  
LABEL maintainer="your-email@example.com"  
RUN yum install -y httpd && yum clean all  
COPY index.html /var/www/html/  
EXPOSE 80  
CMD ["httpd", "-D", "FOREGROUND"]  

7.2 構建與運行

docker build -t my-apache .  
docker run -tid --name myweb -p 8080:80 my-apache  

八、命令速查表
功能命令
鏡像管理docker images docker pull <image> docker rmi <image>
容器操作docker run [options] <image> docker exec -ti <container> /bin/bash
日志與監控docker logs <container> docker ps -a
網絡管理docker network create <name> docker network ls
存儲管理docker volume create <name> docker run -v <volume>:<path>

💡 最佳實踐

  1. 生產環境使用固定版本標簽(如 mysql:8.0 而非 latest)
  2. 容器應保持無狀態,關鍵數據使用卷存儲
  3. 多容器應用使用 docker-compose 管理
  4. 定期清理:docker system prune

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/91250.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/91250.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/91250.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

4.2TCP/IP

1、TCP/IP基礎&#xff08;重要&#xff09;概要網絡協議3要素&#xff1a;語法、語義、時序 osi七層模型&#xff1a;應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層tcp四層模型&#xff1a;應用層&#xff08;應用層、表示層、會話層&#xff09;、傳輸層、int…

Java之Stream其二

文章目錄5,Optional5.1,概述5.2,使用5.2.1,創建對象5.2.2,安全消費值5.2.3,獲取值5.2.4,安全獲取值5.2.5,過濾5.2.6,判斷5.2.7,數據轉換6,方法引用6.1 推薦用法6.2 基本格式6.3 語法詳解(了解)6.3.1 引用類的靜態方法6.3.2 引用對象的實例方法6.3.3 引用類的實例方法6.3.4 構造…

一般芯片電氣特性中Flash參數達到其最大值的條件是什么?

芯片電氣特性中標注的最大值&#xff08;比如 Data Flash 擦除時間的最大值&#xff09;&#xff0c;代表在最惡劣但仍在規格書定義的工作條件范圍內的情況下&#xff0c;該參數可能達到的最差值。達到這個最大值通常是由多個最壞情況因素組合造成的。 對于 Data Flash 擦除時間…

python中正則中的split方法、sub方法、finditer方法、compile方法、match對象

正則常見方法梳理 split方法 將一個字符串按照正則表達式匹配結果進行分割,返回結果是列表類型。 pattern:正則表達式的字符串或原生字符串表示string:待匹配字符串maxsplit:最大分割數,剩余部分最為最后一個元素輸出flags:正則表達式使用時候的控制標記 re模塊的spli…

Pytorch中張量的索引和切片使用詳解和代碼示例

PyTorch 中張量索引與切片詳解 使用前先導入&#xff1a; import torch1.基礎索引&#xff08;類似 Python / NumPy&#xff09; 適用于低維張量&#xff1a;x[i]、x[i, j] x torch.tensor([[10, 11, 12],[13, 14, 15],[16, 17, 18]])print(x[0]) # 第0行: tensor([10…

北京-4年功能測試2年空窗-報培訓班學測開-第五十一天

行叭&#xff0c;今天復習第一天&#xff0c;狀態效率&#xff0c;差我發現&#xff0c;一旦換了新環境/知識&#xff0c;我就需要重新調整狀態&#xff0c;少則一兩天&#xff0c;多則一周多。從周日起就很迷茫&#xff0c;哪怕昨天老師講了簡歷與面試&#xff0c;我也清楚地知…

虛擬現實的鏡廊:當技術成為存在之繭

傍晚&#xff0c;摘下VR頭盔的瞬間&#xff0c;房間里未關的臺燈竟顯得刺眼。指尖劃過光滑的塑料外殼&#xff0c;溫熱的機體還在微微震動&#xff0c;如同某種活物的呼吸。窗外城市的光污染在玻璃上暈染成片&#xff0c;而我的視網膜里仍殘留著方才的極光&#xff1a;挪威峽灣…

OSPF過濾

首先需要復習一個點&#xff1a;ACL最終隱含規則不同&#xff1a;如果acl匹配的是流量&#xff0c;則默認是運行所有如果acl匹配的是路由&#xff0c;則默認是拒絕所有OSPF過濾&#xff1a; 1.路由過濾1.LSA可以正常學習&#xff0c;但是不會使用LSA計算路由[AR1]acl 2000[AR1-…

OneCode 3.0 VFS客戶端驅動(SDK)技術解析:從架構到實戰

引言 在分布式系統架構中&#xff0c;高效的文件管理一直是開發者面臨的核心挑戰。OneCode 3.0作為新一代微內核引擎&#xff0c;其VFS&#xff08;虛擬文件系統&#xff09;模塊通過客戶端驅動(SDK)提供了統一的文件操作抽象&#xff0c;屏蔽了底層存儲細節&#xff0c;為開發…

@Reusable-組件復用

Reusable組件復用概述&#xff1a;ArkUI布局中&#xff0c;將自定義組件從組件樹上移除后放入緩存池&#xff0c;后續在創建相同類型的組件節點時&#xff0c;直接復用緩存池中的組件對象。ArkUI中使用Reusable裝飾器以實現自定義組件的復用。常見的組件復用場景是當有大量數據…

黑馬點評系列問題之p63unlock.lua不知道怎么整

問題描述&#xff1a;這個位置的這個unlock.lua文件是怎么生成的。老師給的不是很清楚。解決右鍵單擊resources。如圖輸入回車&#xff0c;然后界面的上方&#xff0c;大概是在這個位置&#xff0c;會有讓你引入這個依賴的選項&#xff0c;我的已經沒有了。他會出來大概三個選項…

Python爬蟲實戰:研究Python-Markdown庫相關技術

1. 引言 在當今信息爆炸的時代,網絡上存在著大量有價值的技術文章。對于技術人員來說,如何高效地收集、整理和保存這些文章是一個重要的問題。爬蟲技術可以幫助我們自動從網絡上獲取所需的文章內容,而 Markdown 作為一種輕量級標記語言,因其簡潔的語法和良好的兼容性,成為…

JAVA經典單例模式

前言單例模式&#xff08;Singleton Pattern&#xff09;是一種創建型設計模式&#xff0c;確保一個類僅有一個實例&#xff0c;并提供全局訪問點。它在需要控制資源&#xff08;如數據庫連接、配置管理&#xff09;或避免重復創建對象的場景中廣泛應用。一&#xff0c;核心概念…

20250715問答課題-基于BERT與混合檢索問答系統

1. 引言構建一個基于BERT與混合檢索策略的智能問答系統&#xff0c;通過深度學習與傳統檢索技術的融合&#xff0c;解決了心法領域知識檢索中的三個關鍵問題&#xff1a;(1)專業術語的語義理解不足&#xff1b;(2)問答匹配精度低&#xff1b;(3)檢索結果多樣性差。2. 方法2.1. …

面向對象與面向過程、函數式編程

面向對象與面向過程、函數式編程 1. 面向過程編程&#xff08;Procedure-Oriented Programming&#xff09; 面向過程編程將程序視為一系列函數的集合&#xff0c;數據和操作數據的函數是分離的。在 Vue 3 中&#xff0c;這種風格通常表現為使用組合式 API&#xff08;Composit…

基于大數據的淘寶用戶行為數據分析系統的設計與實現

開發環境開發語言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服務器&#xff1a;tomcat7 數據庫&#xff1a;mysql5.7&#xff08;一定要5.7版本&#xff09; 數據庫工具&#xff1a;Navicat11 開發軟件&#xff1a;eclipse/myeclipse/idea Maven…

視頻人臉處理——人臉面部動作提取

文章目錄基于openface實現的技術方案windows環境下使用1. 安裝依賴軟件2. 下載OpenFace代碼3. 編譯OpenFace4. 提取面部動作單元5.選擇提取目標方案liunx環境下使用安裝與配置使用 OpenFace 提取面部動作單元應用場景基于py-feat實現的方案1. 從HuggingFace下載模型并設置Detec…

【Docker基礎】Dockerfile構建與運行流程完全指南:從原理到實踐優化

目錄 引言 1 docker build命令參數詳解 1.1 命令概述 1.2 常用參數詳解 1.2.1 -t, --tag 1.2.2 -f, --file 1.2.3 --build-arg 1.2.4 --no-cache 1.2.5 --pull 1.3 構建流程圖解 2 構建上下文&#xff08;Context&#xff09;優化技巧 2.1 構建上下文定義 2.2 優化…

StarRocks Community Monthly Newsletter (Jun)

版本動態 v3.5.0 存算分離&#xff1a;支持生成列、主鍵表重建索引&#xff1b;大規模導入邏輯優化&#xff0c;降低小文件數量。 數據湖分析&#xff1a;Beta 支持 Iceberg 視圖創建與修改&#xff1b;支持 Iceberg REST Catalog 嵌套命名空間&#xff1b; 性能提升與查詢優…

HDMI接口 vs. DisplayPort接口:電競玩家該如何選擇更優?

在搭建游戲主機或電競PC時&#xff0c;顯示器接口的選擇&#xff08;HDMI vs. DP&#xff09;會直接影響畫質、刷新率和延遲表現。本文將從分辨率、刷新率、可變刷新率&#xff08;VRR&#xff09;、帶寬、兼容性等角度對比&#xff0c;幫你選出最適合游戲的接口。1. 基礎對比&…