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:latestweb:image: registry.cn-hangzhou.aliyuncs.com/seven-tao/simple-docker:0.0.7ports:- "9091:4050"volumes:- /tmp/simple-docker/back:/tmp/back- /var/run/docker.sock:/var/run/docker.sockdepends_on:- redis

docker-compose.yml文件目录下执行下面的命令拉取并执行在9091端口上;

docker-compose up -d

通过浏览器访问http://虚拟机IP地址:9091
默认用户名:admin
默认密码:123456


CentOS 8配置 yum/dnf 镜像源 | 安装 Docker | DockerCompose | SimpleDocker 及其相关操作相关推荐

  1. docker简介及使用国内镜像源安装docker

    一.docker简介 docker是一种轻量级虚拟化技术,它基于Linux Container,使用AUFS,(Union File System),是dotCloud公司提供的一种跨平台.可移植的容 ...

  2. 虚拟机下挂载CentOS 镜像并配置yum本地镜像源

    挂载光盘 #mkdir /mnt/media #中间有空格,创建挂载点 #mount /dev/cdrom /mnt/media #挂载 配置Yum本地源 rm -rf /etc/yum.respos ...

  3. yum指定镜像源安装mysql

    1.先检查系统是否安装有mysql(卸载mysql,限yum安装) [root@localhost libowen]# yum list installed mysql* 2.查看有没有mysql安装 ...

  4. CentOS/RHEL 配置 yum 清华Tuna源

    0.请保证系统可以正常联网,保证进入超级用户模式 1.进入仓库配置文件目录 cd /etc/yum.repos.d/ 2.创建仓库配置文件 vim Tuna.repo 3.输入仓库配置文本 [Tuna ...

  5. linux centos yum源配置为nexus镜像源

    linux centos yum源配置为nexus镜像源 vim /etc/yum.repos.d/CentOS.repo [base] name=CentOS-$releasever - Base ...

  6. CentOS7 重装yum并且配置163国内镜像源

    简介: 自己的阿里云服务器yum突然用不起了,下载不了任何东西 这时就想到最暴力的方式重装yum 所有操作均在ROOT用户下,系统版本是CentOS7 X86_64: 一.删除原有YUM # rpm ...

  7. linux安装node(含npm命令) 并配置淘宝镜像源

    安装NPM 方法一 使用apt安装 npm版本号可能不是最新的 apt install npm 方法二 下载安装包离线安装 1. 下载压缩包 wget https://nodejs.org/dist/ ...

  8. CentOS7 mysql8.0 国内镜像源安装

    背景 本篇记录一下mysql 8.0版本的安装过程,由于mysql官方的地址下载非常慢,因此本篇将使用国内的镜像站下载mysql安装包. MySQL8 安装 一.检查是否安装历史版本 rpm -qa| ...

  9. Python 包管理工具poetry配置国内PyPI镜像源

    不论是使用 pip,还是Pipenv.Poetry等工具,安装Python包的时候会默认从官方的PyPI源下载文件,速度比较慢.国内的一些公司和机构提供了 PyPI 镜像源(mirror source ...

最新文章

  1. eclipse svn提交忽略文件及文件夹,ignore设置无效..
  2. 文件包含漏洞检测工具fimap
  3. 数字图像处理:第七章 邻域运算
  4. leetcode|第三大的数java题解
  5. 上大学了,但学校一般,该怎么办?
  6. laravel迁移文件
  7. Java中的三态布尔值
  8. atitit查询表改动表字段没反应--解锁锁定的表
  9. Spring源码之ApplicationContext(七)获取消息资源
  10. 时间机器与iCloud云盘:应该使用哪个来备份你的Mac?
  11. 我的LINUX学习之路之十三之用脚本通过PXE安装LINUX
  12. Quart2D文字图像绘制
  13. 【限流算法】java实现滑动时间窗口算法
  14. 如何让电脑的时间显示到秒
  15. 第十二周助教心得体会
  16. veracrypt源码编译
  17. 2018 ucla计算机排名,2018福布斯最具价值美国大学排名:加州UCLA位列榜首!
  18. Python OpenCV crosscheck交叉特征点出现错误解决办法
  19. 高等数学:第五章 定积分(2)换元积分法 分部积分法 广义积分
  20. .net程序config文件中特殊字符的正确写法

热门文章

  1. wav转mp3用什么软件好?
  2. python交通流运行模拟_绘制交通流基本图
  3. 美NASA发现宜居带类地行星开普勒-22b, 科学家乐观悲观各执己见
  4. sys/videoio.h not found
  5. FlipaClip——人人都是灵魂画师
  6. i.MX6Q lvds和hdmi双屏同显 1080P 分辨率
  7. 如何把Centos stream 9桌面字体调大
  8. oracle19c下载安装
  9. 汇编语言及应用——程序框架理解
  10. 2018下半年阿拉丁小程序白皮书发展8大预测 日活有望达到4亿