最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker、Docker?Compose部署實(shí)踐過程

 更新時(shí)間:2026年03月18日 08:43:09   作者:憑X而動(dòng)  
這篇文章主要介紹了Docker、Docker?Compose部署實(shí)踐過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、Docker在線部署

1.1 安裝軟件包

yum install -y yum-utils

1.2 配置docker yum源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 查看倉庫中所有docker版本

yum list docker-ce --showduplicates | sort -r

1.4 安裝docker

# 指定版本安裝
yum install -y docker-ce-3:26.1.4-1.el7.x86_64 
# 安裝最新版本docker
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

1.5 啟動(dòng)并設(shè)置開機(jī)自啟

systemctl start docker && systemctl enable docker

1.6 驗(yàn)證安裝是否成功

docker version

1.7 配置鏡像加速器

配置阿里云鏡像加速器

配置其他鏡像加速器

docker鏡像狀態(tài)監(jiān)控網(wǎng)站:https://status.anye.xyz/

tee /etc/docker/daemon.json <<-'EOF'
{
        "registry-mirrors": [
                "https://docker.1ms.run",
                "https://docker.aityp.com",
                "https://mirrors.tencent.com",
                "https://hub.rat.dev",
                "https://docker.actima.top",
                "https://docker.m.daocloud.io",
                "https://docker.imgdb.de",
                "https://docker.xuanyuan.me",
                "https://mirror.azure.cn"
        ]
}
EOF
# 重新加載daemon.json文件以及重啟docker
systemctl daemon-reload
systemctl restart docker

1.8 docker常用命令

# 啟動(dòng)docker
systemctl start docker
# 停止docker
systemctl stop docker
# 查詢docker狀態(tài)
systemctl status docker
# 查詢鏡像容器占用的空間
docker system df

# 查看運(yùn)行中的容器
docker ps
# 查看所有容器
docker ps -a
# 搜索鏡像
docker search nginx
# 下載鏡像
docker pull nginx
# 下載指定版本鏡像
docker pull nginx:1.26.0
# 查看所有鏡像
docker images
# 刪除指定id的鏡像
docker rmi e784f4560448

# 運(yùn)行一個(gè)新容器
docker run nginx
# 停止容器
docker stop nginx
# 啟動(dòng)容器
docker start 592
# 重啟容器
docker restart 592
# 查看容器資源占用情況
docker stats 592
# 查看容器日志
docker logs 592
# 刪除指定容器
docker rm 592
# 強(qiáng)制刪除指定容器
docker rm -f 592
# 后臺(tái)啟動(dòng)容器
docker run -d --name mynginx nginx
# 后臺(tái)啟動(dòng)并暴露端口
docker run -d --name mynginx -p 80:80 nginx
# 進(jìn)入容器內(nèi)部
docker exec -it mynginx /bin/bash

# 提交容器變化打成一個(gè)新的鏡像
docker commit -m "update index.html" mynginx mynginx:v1.0
# 保存鏡像為指定文件
docker save -o mynginx.tar mynginx:v1.0
# 刪除多個(gè)鏡像
docker rmi bde7d154a67f 94543a6c1aef e784f4560448
# 加載鏡像
docker load -i mynginx.tar 

# 登錄 docker hub
docker login
# 重新給鏡像打標(biāo)簽
docker tag mynginx:v1.0 leifengyang/mynginx:v1.0
# 推送鏡像
docker push leifengyang/mynginx:v1.0

# 把容器指定位置的東西復(fù)制出來 
docker cp 5eff66eec7e1:/etc/nginx/nginx.conf  /data/conf/nginx.conf
# 把外面的內(nèi)容復(fù)制到容器里面
docker cp  /data/conf/nginx.conf  5eff66eec7e1:/etc/nginx/nginx.conf

1.9 使用runlike工具查看docker run啟動(dòng)命令

# 1. 檢查 Python 是否已安裝
python --version
# 或者
python3 --version

# 2. 安裝 pip
# 對(duì)于 Python 2.x:
yum install python-pip
# 對(duì)于 Python 3.x:
yum install python3-pip

# 確認(rèn) pip 安裝成功
# 對(duì)于 Python 2.x:
pip --version
# 對(duì)于 Python 3.x:
pip3 --version

# 3. 安裝 runlike
# 對(duì)于 Python 2.x:
pip install runlike
# 對(duì)于 Python 3.x:
pip3 install runlike

# 4. 生成docker run啟動(dòng)命令
runlike -p <容器名稱或ID>

1.10 卸載docker

yum remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

二、Docker離線部署

2.1 rpm方式

2.1.1 獲取 Docker 依賴包

在一臺(tái)相同版本的聯(lián)網(wǎng)機(jī)器上執(zhí)行:

# 安裝軟件包
yum install -y yum-utils createrepo
# 配置docker yum源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 創(chuàng)建rpm包目錄
mkdir /opt/docker-rpm
# 下載Docker及其所有依賴到指定目錄
repotrack docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin \
  -p /opt/docker-rpm
# 打包文件
tar -czvf docker-rpm.tar.gz -C /opt/docker-rpm .

2.1.2 安裝 RPM

上傳docker-rpm.tar.gz到服務(wù)器

# 創(chuàng)建目錄并解壓
mkdir -p /opt/docker-rpm
tar -zxvf docker-rpm.tar.gz -C /opt/docker-rpm
# 進(jìn)入目錄
cd /opt/docker-rpm
# 按依賴順序手動(dòng)安裝(關(guān)鍵!)
# --nodeps: 忽略依賴檢查(因?yàn)槟阋汛_保所有包已下載)
# --force: 覆蓋沖突文件
sudo rpm -ivh \
  container-selinux-*.rpm \
  libcgroup-*.rpm \
  containerd.io-*.rpm \
  docker-ce-cli-*.rpm \
  docker-ce-*.rpm \
  docker-ce-rootless-extras-*.rpm \
  docker-buildx-plugin-*.rpm \
  docker-compose-plugin-*.rpm \
  --nodeps --force

2.1.3 檢查 Docker 軟件包是否正確安裝

# 查看 Docker 相關(guān)軟件包是否安裝
rpm -qa | grep docker

2.1.4 啟動(dòng)并設(shè)置開機(jī)自啟

systemctl start docker && systemctl enable docker

2.1.5 驗(yàn)證安裝是否成功

docker version

2.2 免安裝方式

2.2.1 下載

https://download.docker.com/linux/static/stable/x86_64/

2.2.2 解壓并部署

mdkir /opt
# 上傳壓縮包到/opt目錄下并解壓
cd /opt
tar -zxvf docker-26.1.4.tgz
# 將docker文件內(nèi)容復(fù)制到/usr/bin/目錄下
cp docker/* /usr/bin/
 # 賦予可執(zhí)行權(quán)限
chmod +x /usr/bin/docker*

2.2.3 設(shè)置開機(jī)自啟

vi /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
Restart=on-failure
LimitNOFILE=infinity
LimitNPROC=infinity
Delegate=yes

[Install]
WantedBy=multi-user.target

賦予文件權(quán)限并啟動(dòng)docker

# 賦予文件權(quán)限
chmod +x /etc/systemd/system/docker.service
# 重載配置
systemctl daemon-reload
# 啟動(dòng)docker
systemctl start docker
#設(shè)置開機(jī)自啟
systemctl enable docker
 # 驗(yàn)證服務(wù)狀態(tài)
systemctl status docker

三、Docker Compose部署

3.1 安裝Docker Compose

3.1.1 離線安裝

https://github.com/docker/compose/releases

在下載頁面找到docker-compose-linux-x86_64文件下載

上傳到/usr/local/bin目錄下

重命名為docker-compose

mv docker-compose-linux-x86_64 docker-compose

賦予可執(zhí)行權(quán)限

chmod +x /usr/local/bin/docker-compose

查看版本號(hào)

docker-compose -v
或者:
docker-compose version

3.1.2 在線安裝

# 查看最新版本號(hào):https://github.com/docker/compose/releases
# 下載2.37.1版本Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.37.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

賦予可執(zhí)行權(quán)限

sudo chmod +x /usr/local/bin/docker-compose

驗(yàn)證安裝

docker-compose -v
或者:
docker-compose version

3.2 基本使用

version: '3.8'  # 指定兼容的 Compose 規(guī)范版本

services:        # 服務(wù)定義區(qū)塊
  webapp:        # 服務(wù)名稱(自定義)
    image: nginx:latest  # 鏡像
    container_name: my-nginx  # 容器名稱
    ports:
      - "80:80"               # 端口映射(主機(jī):容器)
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf  # 掛載配置文件
      - html:/usr/share/nginx/html          # 使用命名卷
    networks:
      - frontend                            # 加入指定網(wǎng)絡(luò)
    depends_on:
      - database  # 聲明依賴關(guān)系

  database:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: password  # 環(huán)境變量注入
    volumes:
      -  /opt/mysql/mysql_data:/var/lib/mysql           # 數(shù)據(jù)持久化
    networks:
      - backend

volumes:   # 聲明數(shù)據(jù)卷(自動(dòng)創(chuàng)建)
  html:
  mysql_data:

networks:  # 自定義網(wǎng)絡(luò)(隔離通信)
  frontend:
  backend:

3.3 常用命令

執(zhí)行 docker compose(或舊版 docker-compose)命令時(shí),默認(rèn)在當(dāng)前工作目錄下查找以下文件:

  • docker-compose.yml
  • docker-compose.yaml

若文件不在當(dāng)前目錄或使用自定義文件名,需通過 -f(或 --file)參數(shù)指定路徑

# 指定其他目錄或文件名
docker-compose -f /path/to/custom-compose.yml up

# 使用多個(gè) Compose 文件(合并配置)
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up
命令作用
docker-compose up啟動(dòng)所有服務(wù)(前臺(tái)運(yùn)行)
docker-compose up -d后臺(tái)啟動(dòng)所有服務(wù)
docker-compose up stop停止正在運(yùn)行的容器
docker-compose down停止并刪除容器、網(wǎng)絡(luò)(保留數(shù)據(jù)卷)
docker-compose down -v停止并刪除容器、網(wǎng)絡(luò)及數(shù)據(jù)卷
docker-compose start啟動(dòng)已經(jīng)存在的服務(wù)容器
docker-compose restart重啟項(xiàng)目中的服務(wù)
docker-compose logs查看所有服務(wù)的日志
docker-compose logs -f web實(shí)時(shí)跟蹤 web 服務(wù)的日志
docker-compose ps查看運(yùn)行中的容器狀態(tài)
docker-compose up --scale web=3啟動(dòng)多個(gè)服務(wù)實(shí)例(如負(fù)載均衡)
docker-compose exec web sh進(jìn)入 web 容器的 Shell
docker-compose build根據(jù) build: 配置構(gòu)建鏡像(需在 Compose 文件中定義)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在wsl-ubuntu中如何通過 docker 啟動(dòng) gpu-jupyter

    在wsl-ubuntu中如何通過 docker 啟動(dòng) gpu-jupyter

    這篇文章主要介紹了在wsl-ubuntu中如何通過 docker 啟動(dòng) gpu-jupyter,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • 詳解六種減小Docker鏡像大小的方法

    詳解六種減小Docker鏡像大小的方法

    這篇文章主要介紹了詳解六種減小Docker鏡像大小的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • docker環(huán)境部署Hadoop集群教程

    docker環(huán)境部署Hadoop集群教程

    文章介紹了在Docker環(huán)境下部署Hadoop集群的步驟,包括ocker-compose.yml配置文件創(chuàng)建、Docker容器啟動(dòng)集群驗(yàn)證集群狀態(tài)數(shù)據(jù)持久化測(cè)試NamenodeDatanatannode數(shù)據(jù)持久化測(cè)試容器故障場(chǎng)景驗(yàn)證持久化效果
    2026-05-05
  • 在Dockerfile中copy和add的區(qū)別及說明

    在Dockerfile中copy和add的區(qū)別及說明

    COPY和ADD都是Dockerfile中用于文件復(fù)制的命令,但COPY僅用于本地文件或目錄的復(fù)制,不支持自動(dòng)解壓縮;而ADD除了復(fù)制本地文件或目錄外,還支持解壓縮和從URL下載文件,在一般情況下,建議使用COPY命令
    2025-03-03
  • Docker探索namespace詳解

    Docker探索namespace詳解

    以前對(duì)docker中的namespace了解甚少,今天在網(wǎng)上查閱相關(guān)文章,發(fā)現(xiàn)這篇還不錯(cuò),介紹了namespace資源隔離以及進(jìn)行namespace api操作的四種方式等內(nèi)容,這里分享給大家,供參考。
    2017-10-10
  • Docker部署UI自動(dòng)化測(cè)試環(huán)境的實(shí)現(xiàn)步驟

    Docker部署UI自動(dòng)化測(cè)試環(huán)境的實(shí)現(xiàn)步驟

    本文主要介紹了Docker部署UI自動(dòng)化測(cè)試環(huán)境的實(shí)現(xiàn)步驟,通過Docker可以快速創(chuàng)建、部署和測(cè)試腳本,提高測(cè)試效率,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • Docker安裝部署RabbitMQ教程

    Docker安裝部署RabbitMQ教程

    本文詳解了Docker容器化部署RabbitMQ的優(yōu)勢(shì),涵蓋環(huán)境一致性、資源隔離、彈性伸縮等核心價(jià)值,提供從安裝配置到集群部署、數(shù)據(jù)持久化及故障排查的完整方案,幫助構(gòu)建高效穩(wěn)定的消息隊(duì)列服務(wù)
    2025-08-08
  • docker啟動(dòng)anything llm報(bào)unable to open database file: ../storage/anythingllm.db問題及解決

    docker啟動(dòng)anything llm報(bào)unable to open data

    安裝Docker和下載鏡像時(shí)需切換國(guó)內(nèi)源,由于Docker運(yùn)行時(shí)創(chuàng)建文件的用戶uid為1000,而默認(rèn)使用root創(chuàng)建目錄,導(dǎo)致權(quán)限不符,運(yùn)行時(shí)報(bào)錯(cuò),修改目錄權(quán)限或所有者為uid 1000即可
    2026-04-04
  • docker部署MySQL主從服務(wù)集群方式

    docker部署MySQL主從服務(wù)集群方式

    文章介紹了如何創(chuàng)建目錄、配置文件和搭建MySQL集群,包括設(shè)置主庫和兩個(gè)從庫的配置,并詳細(xì)說明了如何創(chuàng)建復(fù)制用戶和連接主庫
    2025-11-11
  • docker使用Dockerfile構(gòu)建鏡像的實(shí)現(xiàn)示例

    docker使用Dockerfile構(gòu)建鏡像的實(shí)現(xiàn)示例

    本文主要介紹了docker使用Dockerfile構(gòu)建鏡像的實(shí)現(xiàn)示例,通過編寫 Dockerfile,您可以定義鏡像的基礎(chǔ)環(huán)境、安裝軟件包、復(fù)制文件、設(shè)置環(huán)境變量等操作,下面就來介紹一下
    2024-01-01

最新評(píng)論

徐闻县| 瓮安县| 乌拉特后旗| 广水市| 田东县| 麻阳| 来凤县| 湖南省| 财经| 延吉市| 应城市| 阆中市| 玉溪市| 合阳县| 皋兰县| 亚东县| 秦皇岛市| 金山区| 焉耆| 黔东| 卢龙县| 盖州市| 崇文区| 咸阳市| 泰顺县| 广德县| 铜陵市| 四川省| 锡林浩特市| 舟曲县| 广丰县| 黑龙江省| 广饶县| 怀集县| 恭城| 九江县| 西林县| 肇庆市| 乌鲁木齐市| 乌恰县| 白朗县|