centos搭建部署docker环境的详细步骤
1、Docker的存在解决的问题
1.1 统一标准
应用构建:我们写的应用可能使用了不同的编程语言,例如:Java、C++、JavaScript等,这些应用最终打成软件包,有的是压缩包、有的是文件夹、有的是源程序让自己编译,这就很麻烦;那么能否统一打成一个包?这就需要docker build,把我们的软件打成一个标准格式的包,这个包就叫做镜像!
应用分享:所有软件的镜像都放到一个指定地方 docker hub(就相当于安卓手机里的应用市场)。
应用运行:我们都打包成了统一标准的镜像(相当于Windows里的可执行程序.exe);直接docker run就可以启动应用。
Docker的存在开启了一个时代,一个容器化的时代!
区别于容器化,以前我们有一个虚拟化技术:假如有一个8核64G的应用,我们跑很多的应用,所有的应用都放到一个机器里面;如果一个软件造成内存泄漏,就可能把整个64G内存全部占完,造成其它应用就挤下去运行不了了!为了安全,所以我们要把这些应用进行隔离:
(1)第一种办法:虚拟化技术;装几个虚拟机,假如每个虚拟机占8个G,每个虚拟机里布置各自的应用,就算有一个应用造成了内存泄漏,也只会漏掉8个G,不会影响别人!但是虚拟化技术也有很多缺点:基础镜像都是GB级别、创建使用复杂、启动速度慢、移植与分享不方便;
(2)第二种办法:容器化技术;一个服务器装了操作系统,对于虚拟机化技术实际上每个虚拟机又是一个完整的操作系统;对于容器化技术,既然有操作系统了,docker就是搞一些差异化的东西保存起来,所以每个应用的环境只是区别于当前服务器的一个差异化环境;优点:基础镜像MB级别、创建简单、隔离性强、启动速度秒级、移植与分享方便;
1.2 资源隔离
(1)cpu、内存资源隔离与限制;
(2)访问设备隔离与限制;
(3)网络隔离与限制;
(4)用户、用户组隔离限制;容器里跑的应用的root用户,跟Linux主机里的root用户,可以不是同一个root用户
........................
2、Docker的建构
1、Docker_Host:
想用Docker,每台主机必须安装Docker;安装Docker的主机,即为Docker_Host
2、Docker Daemon
安装好Docker就会在主机上启动,后台启动一个Docker的进程;运行在Docker主机上的Docker后台进程
3、Client
操作Docker主机的客户端(命令行、UI等)
4、Registry
镜像仓库:Docker Hub
5、Images
镜像,带环境打包好的程序,可以直接启动运行
6、Containers
容器,由镜像启动起来正在运行中的程序
总结:想要用docker,先装好Docker;然后去 软件市场 (docker hub)寻找镜像,下载(docker pull)镜像并运行(docker run);
3、安装Docker
Docker官方部署Docker平台的底层Linux操作系统对应的Linux内核版本至少3.8+,在实际的企业生产环境中,推荐的Linux内核至少3.10+,对应的Linux操作系统发型版本:Centos7.x或者Ubuntu16.x;
cat /etc/centos-release # 查看当前Centos的版本 uname -a #查看当前内核的版本
Docker安装的官方文档:https://docs.docker.com/engine/install/centos/
1、卸载以前安装的docker
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 如果以前什么都没安装,直接yum remove docker*就可以
2、配置yun源
yum install -y yum-utils # 下载yum工具类所需要的依赖 yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 添加docker安装源地址
3、安装docker
yum install -y docker-ce docker-ce-cli containerd.io # 安装最新版本得docker # docker-ce---docker社区版 # docker-ce-cli---操作docker服务器的命令行程序 # containerd.io---docker容器化的运行环境 # 如果想要安装其他版本 yum list | grep docker # 查看一下docker资源的安装列表
4、启动docker并设置为开机自启
systemctl start docker --now systemctl enable docker
5、查看一下当前的docker运行状态
systemctl status docker
6、随便使用一个命令验证
docker info # 打印docker的详细信息
7、配置镜像加速
mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } EOF systemctl daemon-reload systemctl restart docker
然后输入:docker ps能打印出来内容就说明没问题!
总结
到此这篇关于centos搭建部署docker环境的文章就介绍到这了,更多相关centos搭建docker环境内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
原文出处:https://blog.csdn.net/m0_61933976/article/details/125233101
相关文章
- 最常见的多环境配置,就是开发环境配置,和生产环境配置,本文主要介绍了vue项目多环境配置的实现,感兴趣的可以了解一下...2021-07-20
- 一、下载Eclipse的PHP插件 百度搜索phpeclipse,看到某条结果是带有SourceForge.net字样的,点进去,找到Download按钮,点击之后,等待5秒就会开始下载了。二、安装Eclipse的PHP插件 插件下载完成之后,解压,然后把site.xml...2015-11-24
- 用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高...2013-09-27
mac下Apache + MySql + PHP搭建网站开发环境
首先为什不自己分别搭建Apache,PHP和MySql的环境呢?这样自己可以了解更多知识,说起来也更酷。可也许因为我懒吧,我是那种“既然有现成的,用就是了”的人。君子生非异也,善假于物也。两千年前的荀子就教导我们,要善于利用工具...2014-06-07docker 启动elasticsearch镜像,挂载目录后报错的解决
这篇文章主要介绍了docker 启动 elasticsearch镜像,挂载目录后报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-20- 这篇文章主要给大家介绍了关于VSCode配置C#运行环境的完整步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
解决Docker中的error during connect异常情况
这篇文章主要介绍了解决Docker中的error during connect异常情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-22教你使用Portainer管理多台Docker容器环境的方法
这篇文章主要介绍了Portainer管理多台Docker容器环境,本文给大家介绍的非常详细,包括环境准备及管理docker的详细过程,需要的朋友可以参考下...2021-11-11- 这篇文章主要介绍了docker部署confluence的完整步骤,这里的镜像并不是小编自己写的是基于他人打包的文中有详细介绍,需要的朋友可以参考下...2021-06-11
- 这篇文章主要介绍了docker swarm外部验证负载均衡时不生效的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-27
- 这篇文章主要给大家介绍了关于Nest.js环境变量配置与序列化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-21
- 这篇文章主要介绍了解决docker挂载的目录无法读写问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-19
Ubuntu 系统下安装Android开发环境 Android Studio 1.0 步骤
Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试,可以在Linux,Mac OS X,Window...2016-09-20如何设置process.env.NODE_ENV生产环境模式
process.env.NODE_ENV默认只有两种状态即development和production,本文主要介绍了process.env.NODE_ENV设置生产环境模式,感兴趣的可以了解一下...2021-09-14VS Code C/C++环境配置教程(无法打开源文件“xxxxxx.h”或者检测到 #include 错误,请更新includePath)(POSIX API)
这篇文章主要介绍了VS Code C/C++环境配置教程(无法打开源文件“xxxxxx.h” 或者 检测到 #include 错误。请更新includePath) (POSIX API),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-08-13Windows配置VSCode+CMake+Ninja+Boost.Test的C++开发环境(教程详解)
这篇文章主要介绍了Windows配置VSCode+CMake+Ninja+Boost.Test的C++开发环境,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-12- 这篇文章主要介绍了docker端口映射及外部无法访问问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-19
如何使用VSCode配置Rust开发环境(Rust新手教程)
这篇文章主要介绍了如何使用VSCode配置Rust开发环境(Rust新手教程),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-27- 这篇文章主要介绍了CentOS8安装SQLServer2019的步骤,本文通过命令实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
Docker 解决openjdk容器里无法使用JDK的jmap等命令问题
这篇文章主要介绍了Docker 解决openjdk容器里无法使用JDK的jmap等命令问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-04