初探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 杀死容器
初探Docker CentOS 7.9 2009 Mini 操作系统环境初始化 和Docker初始化的更多相关文章
- Docker运行操作系统环境(BusyBox&Alpine&Debian/Ubuntu&CentOS/Fedora)
目前常用的Linux发行版主要包括Debian/Ubuntu系列和CentOS/Fedora系列.前者以自带软件包版本较新而出名:后者则宣称运行更稳定一些.选择哪个操作系统取决于读者的具体需求.同时, ...
- AspNetCoreapi 使用 Docker + Centos 7部署
好久没有更新文章了,前段时间写了一系列的文章放到桌面了,想着修修改改,后来系统中勒索病毒了还被公司网络安全的抓到是我电脑,后来装系统文章给装丢了.然后好长一段时间没有写了. 今天记录一下AspNetC ...
- docker镜像、容器以及命令操作
docker image docker image是一个极度精简版的Linux程序运行环境,官网的java镜像包括的东西更少,除非是镜像叠加方式的如centos+java7 docker image是 ...
- Docker CentOS 网段与公司网段冲突
参考文章: <Docker修改默认地址172.17.0.1> 在公司内网的一个虚拟服务器(CentOS 7)安装Docker后,发现网段172.18.0.1和172.17.0.1与公司内部 ...
- docker centos 镜像中安装python36详解!生成centos+python36的基础镜像
获取centos镜像docker pull centos:7.4.1708 启动并进入centos的容器docker run -i –t centos /bin/bash下载安装python编译环境依 ...
- Docker镜像与容器的常用操作
Docker镜像加速配置:Docker镜像常用操作:Dcoker容器常用操作. 镜像加速器 国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器.国内很多云服务商都提供了国内加 ...
- Docker的镜像及容器常用操作(2)
一.docker镜像 镜像(docker image) --- Docker 运行容器之前需要本地存在镜像,若本能地不存在,那么 Docker 会找默认镜像仓库( Docker Hub 公共注册服务器 ...
- Docker Centos安装Redis以及问题处理
之前一篇文章 Redis安装及主从配置 介绍了redis的安装配置,另一篇文件介绍了 Docker Centos安装Openssh .今天将两篇文件结合一下——在Docker Centos环境下搭建r ...
- Docker Centos安装Mysql5.6
之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...
随机推荐
- LevelDB学习笔记 (2): 整体概览与读写实现细节
1. leveldb整体介绍 首先leveldb的数据是存储在磁盘上的.采用LSM-Tree实现,LSM-Tree把对于磁盘的随机写操作转换成了顺序写操作.这是得益于此leveldb的写操作非常快,为 ...
- 关于vue告警 More than 1 blank line not allowed
开发vue-cli脚手架工程,eslint规范检查工具告警笔记 More than 1 blank line not allowed 代码空格不允许超过1行,把多余的空行删除就可以了
- hdu 3397 Sequence operation 线段树 区间更新 区间合并
题意: 5种操作,所有数字都为0或1 0 a b:将[a,b]置0 1 a b:将[a,b]置1 2 a b:[a,b]中的0和1互换 3 a b:查询[a,b]中的1的数量 4 a b:查询[a,b ...
- hdu 6030 矩阵快速幂
大致题意: 一条长度为n的项链,由红色珠子和蓝色珠子(分别用1和0表示)组成,在连续的素数子段中,红色珠子的个数不能少于蓝色珠子.问组成这个项链有多少种方案,求方案数模1000000007 分析: 首 ...
- Spring源码编译一次性通过&遇到的坑解决方法
前言 spring源码本地编译,按网上的博客参考资料的操作步骤,总是会出现各种莫名其妙的错误.根据错误信息找解决方案,但在自己的环境下又总是编译不过去.结合参加培训学习Jack老师提供的方法,自己多种 ...
- Nginx 实践:location 路径匹配
1. 目标 nginx 反向代理,路径映射的过程是什么?如何配置路径映射规则? 2.location 路径匹配 2.1 匹配规则: location 路径正则匹配: 符号 说明 ~ 正则匹配,区分大小 ...
- 线程中sleep()方法和wait()方法的前生今世
先看再点赞,给自己一点思考的时间,如果对自己有帮助,微信搜索[程序职场]关注这个执着的职场程序员.我有什么:职场规划指导,技能提升方法,讲不完的职场故事,个人成长经验. 不知道大家有没有这种感觉,在公 ...
- vue3后台管理系统(模板)
系统简介 此管理系统是基于Vite2和Vue3.0构建生成的后台管理系统.目的在于学习vite和vue3等新技术,以便于后续用于实际开发工作中: 本文章将从管理系统页面布局.vue路由鉴权.vuex状 ...
- STM32F103学习进程
软硬件下载程序和程序运行的相关问题和解决方案,以我自身买的STM32F103C8T6为例 (1) 硬件需要 1. 购买一个STM32F103XXX的板子.这是一个操作实践性非常强的一个学习过程,如果没 ...
- FreeRTOS+LVGL|Freertos+lvgl如何配置lvgl的心跳和任务管理器
目录 配置lvgl心跳(Tick) 配置lvgl任务管理器(Task Handler) LVGL中文手册 lvgl需要系统滴答声(心跳)才能知道动画和其他任务的经过时间,所以我们必须要配置好lvgl的 ...