Docker簡介
Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux或Windows操作系統(tǒng)的機器上,也可以實現(xiàn)虛擬化,容器是完全使用沙箱機制,相互之間不會有任何接口。
Docker組成部分:
- 鏡像(Image)
- 倉庫(Repository)
- 容器(Container)
準(zhǔn)備工作
我這里使用CentOS 8,Linux內(nèi)核 4.18 ,官方說至少需要3.8及以上內(nèi)核,關(guān)于CentOS 8如何安裝,請移至該文章:CentOS 8虛擬機安裝配置
[root@localhost ~]# uname -a
Linux localhost.localdomain 4.18.0-348.el8.x86_64 #1 SMP Tue Oct 19 15:14:17 UTC 2021 >x86_64 x86_64 x86_64 GNU/Linux
- 開發(fā)環(huán)境,關(guān)閉防火墻
# 關(guān)閉防火墻
systemctl stop firewalld.service
# 禁用防火墻自啟動
systemctl disable firewalld.service
# 查看防火墻狀態(tài)
systemctl status firewalld.service
配置yum/dnf
注意:在 2022 年1月31日,CentOS 團隊從官方鏡像中移除 CentOS 8的所有包。
直接使用yum下載會出現(xiàn)ERROR:Cannot prepare internal mirrorlist: No URLs in mirrorlist
故需要設(shè)置yum源,否則無法提供下載。
配置yum源(針對于CentOS 8及以上版本)
- 備份所有repo文件
rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo
- 下載最新repo文件
具體請參照:CentOS鏡像
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
- 重新創(chuàng)建緩存
yum clean all && yum makecache
配置dnf(不使用dnf可跳過)
dnf是新一代的rpm軟件包管理器。
# 安裝dnf
yum install dnf -y
問題:如果在使用CentOS 8及其以上版本出現(xiàn)無法安裝問題時,則執(zhí)行下面兩條命令(沒有問題則不需要執(zhí)行)
dnf --disablerepo '*' --enablerepo=extras swap centos-linux-repos >centos-stream-repos -y
dnf distro-sync
安裝Docker
卸載歷史版本
這是可以省略的步驟,主要是為了防止之前已經(jīng)安裝過舊版本的Docker而導(dǎo)致的不可控錯誤!
dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
# yum remove docker \
# docker-client \
# docker-client-latest \
# docker-common \
# docker-latest \
# docker-latest-logrotate \
# docker-logrotate \
# docker-selinux \
# docker-engine-selinux \
# docker-engine \
# docker-ce
設(shè)置Docker本地鏡像源
源地址
中央倉庫:yum-config-manager –add-repo http://download.docker.com/linux/centos/docker-ce.repo
阿里倉庫:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安裝yum工具包及Docker存儲驅(qū)動的依賴包
dnf install device-mapper-persistent-data lvm2 -y
# yum install yum-utils device-mapper-persistent-data lvm2 -y
- 設(shè)置Docker鏡像源
dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安裝Docker
Docker從17.03版本之后分為CE(Community Edition: 社區(qū)版)和EE(Enterprise Edition: 企業(yè)版)。相對于社區(qū)版本,企業(yè)版本強調(diào)安全性,但需付費使用。這里我們使用社區(qū)版本即可。
- 查看已添加的Docker軟件源
dnf list docker-ce
# yum list docker-ce
- 查看所有倉庫中所有docker版本
# 查看所有倉庫中所有docker版本,并選擇特定版本安裝
dnf list docker-ce --showduplicates | sort -r
# yum list docker-ce --showduplicates | sort -r
- 開始安裝Docker
dnf install docker-ce --nobest -y
# yum install docker-ce --nobest -y
# 指定版本號安裝
# dnf install docker-ce-[version] --nobest -y
# yum install docker-ce-[version] --nobest -y
啟動Docker
- 通過以下命令啟動
# 啟動docker
systemctl start docker
# 關(guān)閉docker
systemctl stop docker
- 配置Docker鏡像加速器
具體請參操:Docker:鏡像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://uy35zvn6.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker操作
Docker基本操作
Docker倉庫:DockerHUb
- 通過 本地構(gòu)建 獲取鏡像
docker build -t [image-name:tag] [dir]
- 通過 docker服務(wù)器 獲取鏡像
docker pull
- 查看鏡像
docker images
- 刪除鏡像
docker rmi 具體鏡像ID
- 推送鏡像到服務(wù)器
docker push
- 鏡像打包
path:打包鏡像地址
images:tag:鏡像名稱
docker sav -o [path] [image-name:tag]
- 鏡像加載
file:需要加載的文件
q:不顯示日志
docker load -i -q [file]
Docker容器操作
- 運行
docker run
- 運行到停止
docker stop
- 停止到運行
docker start
- 暫停
docker pause
- 恢復(fù)
docker runpause
- 查看所有運行容器及狀態(tài)
docker ps
- 進入容器執(zhí)行命令
mn:需要進入的容器名
bash:linux終端交互命令
docker exec -it mn bash
- 查看容器運行日志
docker logs
- 刪除指定容器
docker rm
Docker數(shù)據(jù)卷操作
COMMAND
- create 創(chuàng)建volume
- inspect 顯示一個或多個volume信息
- ls 列出所有volume
- prune 刪除未使用的volume
- rm 刪除一個或多個指定的volume
docker volume[COMMAND]
自定義鏡像(DockerFile)
常見指令
指令 | 說明 |
---|---|
FROM | 指定基礎(chǔ)鏡像 |
ENV | 設(shè)置環(huán)境變量 |
COPY | 拷貝本地文件到鏡像指定目錄 |
RUN | 執(zhí)行Linux的shell命令 一般指安裝過程 |
EXPOSE | 指定容器運行時的監(jiān)聽窗口 使用者查看 |
ENTRYPOINT | 鏡像應(yīng)用的啟動命令 容器運行時調(diào)用 |
更多請參照:DockerFile
DockerCompose
使用compose文件(.yml)進行集群配置;
具體請參照:Compose File
- 安裝DockerCompose
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.16.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# github下載慢
# curl -L "https://github.com/docker/compose/releases/download/1.28.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 授予權(quán)限
chmod +x /usr/local/bin/docker-compose
- Base自動補全命令
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
sudo curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
SimpleDocker
在安裝SimpleDocker之前首先要確定
docker-compose
已經(jīng)安裝,可以使用docker-compose version
驗證是否已經(jīng)安裝成功;如若已經(jīng)安裝成功,在某個目錄下(我這里是/usr/local/docker/docker-compose.yml
)創(chuàng)建文件docker-compose.yml
,內(nèi)容如下:
version: '3'
services:
redis:
image: redis:latest
web:
image: registry.cn-hangzhou.aliyuncs.com/seven-tao/simple-docker:0.0.7
ports:
- "9091:4050"
volumes:
- /tmp/simple-docker/back:/tmp/back
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- redis
在
docker-compose.yml
文件目錄下執(zhí)行下面的命令拉取并執(zhí)行在9091端口上;
docker-compose up -d
通過瀏覽器訪問http://虛擬機IP地址:9091
;
默認(rèn)用戶名:admin
默認(rèn)密碼:123456文章來源:http://www.zghlxwxcb.cn/news/detail-768472.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-768472.html
到了這里,關(guān)于CentOS 8配置 yum/dnf 鏡像源 | 安裝 Docker | DockerCompose | SimpleDocker 及其相關(guān)操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!