Docker 是一款流行的開源容器化平臺,使用 Docker 可以有效地隔離應用程式和系統環境,使得應用程式在不同的環境中具有相同的行為 Docker Compose 是一個用於定義和管理多個容器工具 ...
前言
- Docker 是一款流行的開源容器化平臺,使用 Docker 可以有效地隔離應用程式和系統環境,使得應用程式在不同的環境中具有相同的行為
- Docker Compose 是一個用於定義和管理多個 Docker 容器的工具
- Docker 官方文檔:文檔地址
- Docker Hub: 容器鏡像庫和社區
- 作者:易墨
- 發佈時間:2023.10.02
軟體包源配置
跟著文檔第一句就報錯了,需要配置包源下
[root@devops01 ~]# sudo yum install -y yum-utils
CentOS Linux 8 - AppStream 77 B/s | 38 B 00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
- 配置包源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
rm /etc/yum.repos.d/CentOS-Linux-AppStream.repo -f
rm /etc/yum.repos.d/CentOS-Linux-BaseOS.repo -f
dnf clean all
Docker 安裝
-
安裝時的版本
- 查看版本列表:
yum list docker-ce --showduplicates | sort -r
- 當前 docker-ce 版本:3:24.0.0-1.el8
- 當前 docker-ce-cli:1:24.0.6-1.el8
- 查看版本列表:
-
卸載舊版本,新機器跳過即可
-
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
-
-
安裝
-
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce-3:24.0.0-1.el8 docker-ce-cli-1:24.0.6-1.el8 containerd.io docker-buildx-plugin docker-compose-plugin
-
-
啟動
- docker未啟動將會報錯:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
-
sudo systemctl start docker
- docker未啟動將會報錯:
-
安裝完畢
Docker 鏡像加速器配置
docker鏡像預設是從hub.docker.com拉取鏡像,國內訪問太慢了,可以配置國內的鏡像源
- 阿裡雲私有加速器 登錄後獲取 配置鏡像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://dist7hw1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
-
百度及網易公共加速器
-
cat > /etc/docker/daemon.json << EOF { "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] } EOF
-
-
其他可以通過 docker-registry-cn-mirror-test 項目查看是否可以使用
Docker 常用命令一覽
-
鏡像相關命令:
docker images
:列出本地的鏡像列表。docker pull <image_name>
:從 Docker Hub 下載指定名稱的鏡像。docker push <image_name>
:將本地的鏡像推送到 Docker Hub 或私有鏡像倉庫中。docker rmi <image_name>
:刪除指定的鏡像。
-
容器相關命令:
docker ps
:列出運行中的容器列表。docker ps -a
:列出所有的容器列表,包括已停止的容器。docker run <image_name>
:創建並啟動一個新的容器。docker start <container_id>
:啟動已停止的容器。docker stop <container_id>
:停止運行中的容器。docker restart <container_id>
:重啟容器。docker rm <container_id>
:刪除指定的容器。docker exec -it <container_id> <command>
:在運行中的容器中執行命令。docker logs <container_id>
:查看容器的日誌輸出。
-
網路相關命令:
docker network ls
:列出 Docker 網路列表。docker network create <network_name>
:創建一個新的網路。docker network connect <network_name> <container_id>
:將容器連接到指定的網路。docker network disconnect <network_name> <container_id>
:斷開容器與指定網路的連接。
-
其他常用命令:
docker version
:查看 Docker 版本信息。docker info
:查看 Docker 系統信息。docker search <term>
:在 Docker Hub 上搜索鏡像。docker pull <image_name>:<tag>
:下載指定標簽的鏡像。docker tag <source_image_name> <target_image_name>
:給鏡像打標簽。docker login
:登錄到 Docker Hub 或私有鏡像倉庫。docker logout
:退出當前登錄的 Docker Hub 或私有鏡像倉庫。
Docker Compose V2 安裝
-
當前版本:v2.21.0
-
使用的語法變了,用 docker compose 來運行命令,去掉了 - ,詳情可以看遷移指南
-
-
安裝
-
sudo yum update sudo yum install docker-compose-plugin -y
-
-
使用
docker compose xxxx
同之前的docker-composedocker-compose scale
需要修改docker compose up --scale
docker-compose config
命令用於驗證和查看 Docker Compose 文件的配置
-
使用示例:官方示例
-
舊版本1.x 的安裝,安裝後使用 docker-compose
-
# 下載docker-compose,伺服器下不下來可以本地下然後傳到伺服器 sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 添加可執行許可權 sudo chmod +x /usr/local/bin/docker-compose # 輸出版本 docker-compose --version # 輸出:docker-compose version 1.27.4, build xxx
-
使用實踐
- 創建容器網路:
docker network create devopsnetwork
一般來講一個項目的服務都應該在一個網路中,所以在創建容器前都需要先創建容器網路
-
指定容器網路:
- 運行 docker 時
docker run --network=devopsnetwork xxxximages
- 創建 compose.yml 中指定網路, 運行:
docker compose up
- 查看容器網路信息:
docker inspect e54c | grep Networks -A 20
-
services: web: image: nginx ports: - "8080:80" networks: - devopsnetwork networks: devopsnetwork:
- 運行 docker 時
後語
- 安裝&記錄耗時:6小時
- 參考:linux中使用docker-compose部署軟體配置分享
作者:易墨
Github:yimogit
純靜態工具站點:metools
說明:歡迎拍磚,不足之處還望園友們指出;
迷茫大概是因為想的太多做的太少。