初探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初始化的更多相关文章

  1. Docker运行操作系统环境(BusyBox&Alpine&Debian/Ubuntu&CentOS/Fedora)

    目前常用的Linux发行版主要包括Debian/Ubuntu系列和CentOS/Fedora系列.前者以自带软件包版本较新而出名:后者则宣称运行更稳定一些.选择哪个操作系统取决于读者的具体需求.同时, ...

  2. AspNetCoreapi 使用 Docker + Centos 7部署

    好久没有更新文章了,前段时间写了一系列的文章放到桌面了,想着修修改改,后来系统中勒索病毒了还被公司网络安全的抓到是我电脑,后来装系统文章给装丢了.然后好长一段时间没有写了. 今天记录一下AspNetC ...

  3. docker镜像、容器以及命令操作

    docker image docker image是一个极度精简版的Linux程序运行环境,官网的java镜像包括的东西更少,除非是镜像叠加方式的如centos+java7 docker image是 ...

  4. Docker CentOS 网段与公司网段冲突

    参考文章: <Docker修改默认地址172.17.0.1> 在公司内网的一个虚拟服务器(CentOS 7)安装Docker后,发现网段172.18.0.1和172.17.0.1与公司内部 ...

  5. docker centos 镜像中安装python36详解!生成centos+python36的基础镜像

    获取centos镜像docker pull centos:7.4.1708 启动并进入centos的容器docker run -i –t centos /bin/bash下载安装python编译环境依 ...

  6. Docker镜像与容器的常用操作

    Docker镜像加速配置:Docker镜像常用操作:Dcoker容器常用操作. 镜像加速器 国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器.国内很多云服务商都提供了国内加 ...

  7. Docker的镜像及容器常用操作(2)

    一.docker镜像 镜像(docker image) --- Docker 运行容器之前需要本地存在镜像,若本能地不存在,那么 Docker 会找默认镜像仓库( Docker Hub 公共注册服务器 ...

  8. Docker Centos安装Redis以及问题处理

    之前一篇文章 Redis安装及主从配置 介绍了redis的安装配置,另一篇文件介绍了 Docker Centos安装Openssh .今天将两篇文件结合一下——在Docker Centos环境下搭建r ...

  9. Docker Centos安装Mysql5.6

    之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...

随机推荐

  1. SVN分支的创建与使用

    首先放出右键菜单点击Branch/tag... 所示位置输入想新建分支的路径 然后ok就完成了 之后就是切换分支上传代码了 点击Switch... 在里面就可以切换分支了To path

  2. 海量数据Excel报表利器——EasyExcel(开场篇)

    EasyExcel 简介篇 互联网的精髓就是共享,可以共享技术.共享经验.共享情感.共享快乐~ 很多年前就有这个想法了,从事IT行业时间也不短了,应该把自己工作和业余所学习的东西记录并分享出来,和有缘 ...

  3. 20、nginx之ngx_http_upstream_module模块

    nginx的ngx_http_upstream_module模块是用于nginx反向代理的,默认在安装nginx时已经被安装,ngx_http_upstream_module模块 的内容应放于 ngi ...

  4. 11、gitlab和Jenkins整合(2)

    5.补充: (1)构建说明: 1)Jenkins会基于一些处理器任务后,构建发布一个稳健指数 (从0-100 ),这些任务一般以插件的方式实现. 2)它们可能包括单元测试(JUnit).覆盖率(Cob ...

  5. AcWing 106. 动态中位数

    依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数. #include<bits/stdc++.h> using namespace std; pri ...

  6. css文字动画(自动换文字)

    html: <div class="content"> <div class="content__container"> <p c ...

  7. 【转载】CentOS-Docker安装MongoDB(单点)

    下载镜像 $ docker pull mongo 创建相关目录 $ mkdir -p /usr/mongo/data /usr/mongo/dump 运行镜像 $ docker run --resta ...

  8. 0、springboot

    在线新建springboot项目 https://start.spring.io/ 参考地址 https://github.com/battcn/spring-boot2-learning 博客 ht ...

  9. 25 Linux中的信号

    Linux中的信号 信号是进程在运行过程中,由自身产生或由进程外部发过来的消息(事件).每个信号用一个整型常量宏表示,以SIG开头,比如SIGCHLD.SIGINT等,它们在系统头文件中定义,也可以通 ...

  10. PHP中“简单工厂模式”实例讲解(转)

      ? 1 2 3 4 5 6 7 8 原创文章,转载请注明出处:http://www.cnblogs.com/hongfei/archive/2012/07/07/2580776.html   简单 ...