初探Docker CentOS 7.9 2009 Mini 操作系统环境初始化 和Docker初始化

时间:2021-08-08
本文章向大家介绍初探Docker CentOS 7.9 2009 Mini 操作系统环境初始化 和Docker初始化,主要包括初探Docker CentOS 7.9 2009 Mini 操作系统环境初始化 和Docker初始化使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

初探docker

什么是docker?docker就是一种虚拟化技术,将一个服务虚拟化成一个拥有操作系统内核作为基石的快速使用服务。不用担心环境不同服务效果
不同。

docker 官网可以从中央仓库中看到一件奇怪的事情,为什么有的docker 镜像同样的服务,有的镜像占用磁盘空间就大,有的就小呢?
这是因为 docker镜像所制作的系统内核不同,比如ubuntu,centos,ubuntu系统内核所占用的空间就比centos要小,但是具体使用哪一种
内核所打包的镜像还是要根据公司来,另外说一句:占用的大小不影响服务的使用,服务都是一样。但是如果磁盘空间紧张还是选择小的为好。

docker中 存在一个镜像标签,TAG,这个表示是由数字 + 字母展示的,实际上该字段展示的长度达到256位,64位十六进制。经过docker的计算
保留了12位。

接下来安装Docker记录的一些命令,采用的是 CentOS 7.9 Mini版本,无插件原生内核操作系统,所以最好完全按照以下操作:
另外附上我的同款系统连接,方便直接配置使用:https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso

一般来说原生的yum 再使用install的时候会 出现 network 网络环境异常,因此需要修改如下:
/etc/sysconfig/network-sripts/ifcfg-ens33
将里面的 最后一行no 修改为yes,之后 service network restart 重启网络服务

因为我是在VM软件中安装的操作系统,ip addr 看不到自己的操作系统网络ip所以需要以下命令:

yum search ifconfig // 检索插件
yum install net-tools.x86_64 // 具体的忘记了= =仔细看search结果的最后一行,类似的就是

ifconfig // 可以看到所处网络ip ,可以使用习惯的工具连接到linux环境进行使用

接下来就是Docker

DNS 配置

echo -e 'nameserver 223.5.5.5' >> /etc/resolv.conf
echo -e 'nameserver 223.6.6.6' >> /etc/resolv.conf

systemctl restart network

修改时间

rm -f /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate cn.pool.ntp.org

修改yum源

# 阿里镜像
# https://opsx.alibaba.com/mirror
# http://mirrors.aliyun.com/repo/

# 安装 wget
yum install -y wget

# 备份 CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# 使用阿里 YUM 源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 清除 YUM 缓存 && 更新 YUM 缓存
yum clean all && yum makecache

# 安装 EPEL 源
yum install -y epel-release

# 使用阿里 EPEL 源
wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo

# 清除 YUM 缓存 && 更新 YUM 缓存
yum clean all && yum makecache

安装基础包

yum install -y curl telnet vim sudo crontabs ntp tcpdump iptables man zip unzip bzip2 tar git rsync

到此Linux的环境配置就结束了,开始安装Docker


首先需要明白,docker镜像如果使用原生的那么就会从docker官网下载以后的镜像资源,阿里提供了镜像加速服务。上图是最新版本的阿里云 容器镜像服务页面,在镜像工具下面

之后可以仿照 点击参考文档右边的docker-ce跟着官方文档走,进行配置甚至直接安装完毕Docker环境
以下以我的操作系统 CentOS 7.9 2009 Mini 为例子,进行的配置:

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# Step 5: 设置Docker开机自启
sudo systemctl enable docker

注意:其他注意事项在下面的注释中
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
# 注意:在某些版本之后,docker-ce安装出现了其他依赖包,如果安装失败的话请关注错误信息。例如 docker-ce 17.03 之后,需要先安装 docker-ce-selinux。
# yum list docker-ce-selinux- --showduplicates | sort -r
# sudo yum -y install docker-ce-selinux-[VERSION]

# 通过经典网络、VPC网络内网安装时,用以下命令替换Step 2中的命令
# 经典网络:
# sudo yum-config-manager --add-repo http://mirrors.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
# VPC网络:
# sudo yum-config-manager --add-repo http://mirrors.could.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo

一切完成之后,可以尝试查看docker环境是否成功

docker version

接下来是配置Docker的 镜像加速服务


同样的跟着官方文档走就可以:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  # 这里就是举个例子,具体的看各自的控制台
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"] 
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

这一切配置好之后Docker就可以正常的使用了

接下来是学习过程中遇到的一些命令也做了如下记录,不过一般hub.docker.com在需要下载的镜像说明文档中都会存在 该镜像的使用方法和镜像个性化的参数启动项。

docker 的常用命令:
docker pull -- 从镜像中央库 下载镜像到本地docker docekr pull image:tags
docker images -- 查看所有的已下载的镜像
docker image ls -- 与上面的功能相同
docker save -- 将镜像打包保存到磁盘中 docker save image:tags -o target.tar
docker load target.tar -- 将打包的镜像从磁盘中读取到docker
docker search image -- 从中央仓库搜索该关键字存在镜像 docker search redis,但是不推荐使用,不太容易看清系统内核等信息
docker inspect image:tags -- 查看镜像以及标签的详细信息,里面包含了环境中会存在哪些会安装什么东西
	docker inspect -f {{".Size"}} redis:6.0.9  -f 可以直接筛选自己可以想看到的信息
docker rmi image:tags -- 删除指定镜像
	docker image rm image:tags -- 同上一样也是删除镜像
docker history image:tags -- 查看镜像的层次创建信息
docker tag image:tags target:tags -- 修改镜像的名称信息,会创建一个新的镜像。注意:会存在2个,不是真正意义的改名称
	这一块需要注意,经过测试如果tag 复制一份别名的镜像如果存在name + tag 相同的情况时,会直接将之前的给覆盖不会报错。
docker run -it --rm image:tags -- 在容器启动镜像并且进入容器 但是外部没有办法访问
docker run -it --rm -p hostPort:dockerPort iamge:tags -- 同上,但是对外部开启了主机的端口映射,宿主主机只需要访问hostPort就可以
	访问到容器中的服务,docker run -it --rm -p 8080:6379 redis:6.0.9 就可以通过8080 连接到 docker容器中的服务进行使用
	--name 给予创建的容器一个名字、不允许重复
	-p 绑定docker容器和主机的端口映射,不能冲突
	-i 交互式启动
	-t 给予一个伪端
	--rm 当断开容器容器自动删除
	-d 后台执行启动 不能与rm搭配使用
docker logs -- 查看程序终端启动的控制台打印信息
	-f 滚动打印
docker ps -- 查看运行中的全部容器
	-a 查询包含不运行的容器
docekr rm container -- 删除容器,不允许删除正在运行的。支持按照名称和容器id删除
	-f 强制删除容器
docker start container -- 启动已经创建的容器,服务就会启动
docker stop container -- 停止容器的运行,服务也就会停止
docker restart container -- 重新启动容器
docker create -it --name name -p hostPort:dockerPort image:tag -- 通过镜像创建容器,但是不启动
docker exec -- 进入容器的终端进行操作
docker kill -- stop无法停止容器,使用kill 杀死容器

原文地址:https://www.cnblogs.com/liu0912wang/p/15116459.html