Docker简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker组成部分:
- 镜像(Image)
- 仓库(Repository)
- 容器(Container)
准备工作
我这里使用CentOS 8,Linux内核 4.18 ,官方说至少需要3.8及以上内核,关于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
- 开发环境,关闭防火墙
# 关闭防火墙
systemctl stop firewalld.service
# 禁用防火墙自启动
systemctl disable firewalld.service
# 查看防火墙状态
systemctl status firewalld.service
配置yum/dnf
注意:在 2022 年1月31日,CentOS 团队从官方镜像中移除 CentOS 8的所有包。
直接使用yum下载会出现ERROR:Cannot prepare internal mirrorlist: No URLs in mirrorlist
故需要设置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
- 重新创建缓存
yum clean all && yum makecache
配置dnf(不使用dnf可跳过)
dnf是新一代的rpm软件包管理器。
# 安装dnf
yum install dnf -y
问题:如果在使用CentOS 8及其以上版本出现无法安装问题时,则执行下面两条命令(没有问题则不需要执行)
dnf --disablerepo '*' --enablerepo=extras swap centos-linux-repos >centos-stream-repos -y
dnf distro-sync
安装Docker
卸载历史版本
这是可以省略的步骤,主要是为了防止之前已经安装过旧版本的Docker而导致的不可控错误!
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
设置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存储驱动的依赖包
dnf install device-mapper-persistent-data lvm2 -y
# yum install yum-utils device-mapper-persistent-data lvm2 -y
- 设置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: 社区版)和EE(Enterprise Edition: 企业版)。相对于社区版本,企业版本强调安全性,但需付费使用。这里我们使用社区版本即可。
- 查看已添加的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
# 关闭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
- 通过 本地构建 获取镜像
docker build -t [image-name:tag] [dir]
- 通过 docker服务器 获取镜像
docker pull
- 查看镜像
docker images
- 删除镜像
docker rmi 具体镜像ID
- 推送镜像到服务器
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
- 恢复
docker runpause
- 查看所有运行容器及状态
docker ps
- 进入容器执行命令
mn:需要进入的容器名
bash:linux终端交互命令
docker exec -it mn bash
- 查看容器运行日志
docker logs
- 删除指定容器
docker rm
Docker数据卷操作
COMMAND
- create 创建volume
- inspect 显示一个或多个volume信息
- ls 列出所有volume
- prune 删除未使用的volume
- rm 删除一个或多个指定的volume
docker volume[COMMAND]
自定义镜像(DockerFile)
常见指令
指令 | 说明 |
---|---|
FROM | 指定基础镜像 |
ENV | 设置环境变量 |
COPY | 拷贝本地文件到镜像指定目录 |
RUN | 执行Linux的shell命令 一般指安装过程 |
EXPOSE | 指定容器运行时的监听窗口 使用者查看 |
ENTRYPOINT | 镜像应用的启动命令 容器运行时调用 |
更多请参照: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
- 授予权限
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
已经安装,可以使用docker-compose version
验证是否已经安装成功;如若已经安装成功,在某个目录下(我这里是/usr/local/docker/docker-compose.yml
)创建文件docker-compose.yml
,内容如下:
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
文件目录下执行下面的命令拉取并执行在9091端口上;
docker-compose up -d
通过浏览器访问http://虚拟机IP地址:9091
;
默认用户名:admin
默认密码:123456文章来源:https://www.toymoban.com/news/detail-768472.html
文章来源地址https://www.toymoban.com/news/detail-768472.html
到了这里,关于CentOS 8配置 yum/dnf 镜像源 | 安装 Docker | DockerCompose | SimpleDocker 及其相关操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!