目錄
1.安裝及配置
1.1 在線安裝
1.1.1 安裝docker
1.1.2 安裝docker-compose
1.2 離線安裝
1.2.1 安裝docker
1.2.2 安裝docker-compose
1.3 docker配置
1.3.1 配置docker鏡像(可選,如不修改存放位置可忽略)
1.3.2?docker?登錄鏡像倉庫?
2 docker 常用操作和命令
2.1 docker清理鏡像
2.2 docker-compose常用命令
2.3 docker常用命令
1.安裝及配置
Docker安裝版本為:24.0.2
Docker-Compose 版本:2.17.2
1.1 在線安裝
1.1.1 安裝docker
(1)卸載舊版本(如果安裝過,未安裝過的系統(tǒng)可忽略這一步)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
?(2)使用yum安裝yum-utils工具包
yum install -y yum-utils
(3) 設(shè)置國內(nèi)的阿里云鏡像倉庫
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
(4)安裝docker
sudo yum install docker-ce docker-ce-cli containerd.io
觀察點日志,如果沒有問題一路都選YES就行?
?(5)啟動docker并檢查
啟動命令
systemctl start docker
驗證命令
//查看啟動狀態(tài)
systemctl status docker
//查看安裝版本
docker version
1.1.2 安裝docker-compose
(1) 卸載舊版本(如果安裝過,未安裝過的系統(tǒng)可忽略這一步)
rm /usr/local/bin/docker-compose
(2)下載docker-compose文件,移動到bin目錄
curl -L https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
訪問github有點慢,耐心等待下載完成
(3)添加執(zhí)行權(quán)限
chmod +x /usr/local/bin/docker-compose
(4)驗證
docker-compose --version
1.2 離線安裝
1.2.1 安裝docker
(1)獲取安裝包
docker離線安裝包
(2)解壓并安裝
//進入opt目錄下
cd /opt
//在opt目錄下創(chuàng)建docker目錄
mkdir docker
//進入docker 目錄下
cd docker
?上傳從(1)獲取的zip包到?/opt/docker目錄下并解壓
//解壓
unzip -o docker.zip
//執(zhí)行
sh install.sh docker-20.10.9.tgz
//查看安裝版本
docker version
1.2.2 安裝docker-compose
(1)獲取安裝文件
dock-compose離線安裝包
(2)上傳(1)中獲取的文件(docker-compose-linux-x86_64)到?/opt/docker目錄下
//移動目錄到/usr/local/bin中
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
//添加授權(quán)
chmod +x /usr/local/bin/docker-compose
//查看安裝版本
docker-compose -v
1.3 docker配置
1.3.1 配置docker鏡像(可選,如不修改存放位置可忽略)
(1)編輯或者增加 /etc/docker/daemon.json 配置,配置docker鏡像標準輸出日志的大小,以及docker鏡像的存放位置(默認存放在 /var 目錄下,如果磁盤空間不足,一定要修改下面配置中的 “data-root”)
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "10"
},
"data-root": "/data/docker",
"registry-mirrors": [
"https://registry.cn-beijing.aliyuncs.com"
]
}
配置說明:
-
log-driver:
-
json-file:
指定日志驅(qū)動為?json-file
。這意味著 Docker 將會為每個容器的日志使用一個 JSON 格式的日志文件。使用?json-file
?驅(qū)動可以方便地解析和管理日志。
-
-
log-opts:
-
max-size
:?10m
:指定單個日志文件的最大大小為 10MB。當達到這個大小后,Docker 會自動創(chuàng)建一個新的日志文件。 -
max-file
:?10
:最多保留 10 個日志文件。當舊的日志文件達到這個數(shù)量后,最早的日志文件會被自動刪除。
-
-
data-root:
-
/data/docker
:指定 Docker 的數(shù)據(jù)目錄為?/data/docker
。這通常是 Docker 守護進程存儲鏡像、容器、網(wǎng)絡(luò)和其它數(shù)據(jù)的目錄。
-
-
registry-mirrors:
-
https://registry.cn-beijing.aliyuncs.com
:指定一個鏡像倉庫的鏡像地址,這里是阿里云的鏡像地址。當 Docker 從鏡像倉庫拉取或推送鏡像時,它會首先嘗試從這個鏡像倉庫獲取或推送。這可以幫助優(yōu)化鏡像的拉取速度,特別是在某些地理位置上。
-
(2)?修改完之后,使用以下命令重啟 docker
//重新加載配置文件
systemctl daemon-reload
//重啟docker
systemctl restart docker
1.3.2?docker?登錄鏡像倉庫?
?用以下命令 登錄你的鏡像倉庫,按提示輸入密碼。
docker login --username=XXXXX xxx.xxx.com
PS:阿里云,百度云,騰訊云應(yīng)該都可以免費搭建的個人鏡像倉庫,也可以使用?Docker Hub(https://hub.docker.com/),但是國內(nèi)訪問比較慢。
2 docker 常用操作和命令
2.1 docker清理鏡像
清理未使用的鏡像以及相關(guān)的無用鏡像層(dangling layers):
docker image prune -a
2.2 docker-compose常用命令
docker-compose命令需要在docker-compose.yml文件同級執(zhí)行
docker-compose up -d? 重新構(gòu)建容器完成部署
docker-compose logs -f --tail 100 service-name?或者?docker logs –f –tail 100?容器ID?查看特定服務(wù)的日志觀察。
docker-compose ps
2.3 docker常用命令
# service 命令的用法
$ sudo service docker start
?
# systemctl 命令的用法
$ sudo systemctl start docker
?
# 列出本機的所有 image 文件。
$ docker image ls
?
# 刪除 image 文件
$ docker image rm [imageName]
?
# 將 image 文件從倉庫抓取到本地。
docker image pull library/hello-world
?
# 列出本機正在運行的容器
$ docker container ls
?
# 列出本機所有容器,包括終止運行的容器
$ docker container ls --all
?
# 發(fā)出 SIGKILL 信號,殺掉容器,不會刪除容器運行中產(chǎn)生的數(shù)據(jù)。
docker container kill [containerID]
?
# 刪除一個容器,并刪除容器運行中產(chǎn)生的數(shù)據(jù)
docker container rm [containerID]
?
# docker container run命令會從 image 文件生成容器。
$ docker container run -p 8000:3000 -it koa-demo /bin/bash
# 或者
$ docker container run -p 8000:3000 -it koa-demo:0.0.1 /bin/bash
-- -p參數(shù):容器的 3000 端口映射到本機的 8000 端口。
-- -it參數(shù):容器的 Shell 映射到當前的 Shell,然后你在本機窗口輸入的命令,就會傳入容器。
-- koa-demo:0.0.1:image 文件的名字(如果有標簽,還需要提供標簽,默認是 latest 標簽)。
-- /bin/bash:容器啟動以后,內(nèi)部第一個執(zhí)行的命令。這里是啟動 Bash,保證用戶可以使用 Shell。
?
# 用來啟動已經(jīng)生成、已經(jīng)停止運行的容器文件。
$ docker container start [containerID]
?
# 用來終止容器運行,相當于向容器里面的主進程發(fā)出 SIGTERM 信號,然后過一段時間再發(fā)出 SIGKILL 信號。
$ docker container stop [containerID]
?
# 用來查看 docker 容器的輸出
$ docker container logs [containerID]
-f : 跟蹤日志輸出 # docker logs -f mynginx
--since :顯示某個開始時間的所有日志
-t : 顯示時間戳
--tail :僅列出最新N條容器日志
# 例如docker logs --since="2016-07-01" --tail=10 mynginx
?
# 用于進入一個正在運行的 docker 容器
$ docker exec -it [containerID] sh
?
# 用于從正在運行的 Docker 容器里面,將文件拷貝到本機
$ docker container cp [containID]:[/path/to/file] .
?
# 用于構(gòu)建registry.cn-beijing.aliyuncs.com/xxxx/aaa:1.0.8鏡像
$ docker build -t registry.cn-beijing.aliyuncs.com/xxx/aaa:1.0.8 .
?
# 用于將構(gòu)建的鏡像推送到倉庫
$ docker push registry.cn-beijing.aliyuncs.com/xxxx/aaa:1.0.8
遇到的問題:
1. 服務(wù)器無法連接或連接GitHub過慢,無法下載docker-compose文件。文章來源:http://www.zghlxwxcb.cn/news/detail-851054.html
解決方式參考:Linux服務(wù)器無法訪問GitHub問題解決-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-851054.html
到了這里,關(guān)于Docker學習(3)-CentOS安裝Docker及Docker-Compose的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!