docker-client

Docker安装

南笙酒味 提交于 2020-08-20 09:21:15
https://www.jianshu.com/p/758c170b951f 1.如果系统中有老版本的docker,我们需要删除之前的docker 以及依赖 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 2.安装依赖包 sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 3.配置阿里docker源 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 出现以下内容则表示docker仓库配置成功: Loaded plugins: fastestmirror adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo grabbing file http://mirrors.aliyun.com

什么是Docker?看这一篇干货文章就够了!

﹥>﹥吖頭↗ 提交于 2020-08-19 17:28:31
作为程序员我们应怎样理解docker? 容器技术的起源 假设你们公司正在秘密研发下一个“今日头条”APP,我们姑且称为明日头条,程序员自己 从头到尾搭建了一套环境 开始写代码,写完代码后程序员要把代码交给测试同学测试,这时测试同学开始 从头到尾搭建这套环境 ,测试过程中出现问题程序员也不用担心,大可以一脸无辜的撒娇,“明明在人家的环境上可以运行的”。 测试同学测完后终于可以上线了,这时运维同学又要重新 从头到尾搭建这套环境 ,费了九牛二虎之力搭建好环境开始上线,糟糕,上线系统就崩溃了,这时心理素质好的程序员又可以施展演技了,“明明在人家的环境上可以运行的”。 从整个过程可以看到,不但我们重复搭建了三套环境还要迫使程序员转行演员浪费表演才华,典型的浪费时间和效率,聪明的程序员是永远不会满足现状的,因此又到了程序员改变世界的时候了,容器技术应运而生。 有的同学可能会说:“等等,先别改变世界,我们有虚拟机啊,VMware好用的飞起,先搭好一套虚拟机环境然后给测试和运维clone出来不就可以了吗?” 在没有容器技术之前,这确实是一个好办法,只不过这个办法还没有那么好。 先科普一下,现在云计算其底层的基石就是虚拟机技术,云计算厂商买回来一堆硬件搭建好数据中心后使用虚拟机技术就可以将硬件资源进行切分了,比如可以切分出100台虚拟机,这样就可以卖给很多用户了。 你可能会想这个办法为什么不好呢?

Centos7初始化加docker安装

限于喜欢 提交于 2020-08-18 00:15:31
1、环境初始化配置: yum install -y vim net-tools bind-utils lrzsz wget sysstat iotop iftop nc setenforce 0 sed -i 's#^SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config getenforce systemctl disable firewalld systemctl stop firewalld cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum makecache yum -y install gcc yum -y install gcc-c++ 2、docker 安装: yum remove docker \ docker-client \ docker-client

使用Docker构建企业级自定义镜像

﹥>﹥吖頭↗ 提交于 2020-08-14 18:28:34
前言 临下班前,楼主接到了一个需求,由于基础镜像标准发生变更,需要按照最新的Docker 镜像标准构建自己应用的自定义镜像。目前的标准是这样的:基础架构组只提供所有项目必须接入的3个公共镜像,这3个公共基础镜像包含了:JDK8、Skywalking、Arthas。对于各自业务组的应用如果还需要加入其它镜像,则由各个业务组自己基于基础架构组提供的公共镜像之上,再添加自定义的镜像,结构图如下: 构建步骤 编写Dockerfile 基于最新的规范来看,我们需要编写一个Dockerfile,然后引用基础架构组提供的基础镜像,再加入应用需要的其他镜像。因此最终的 Dockerfile 文件如下: FROM 基础镜像地址 RUN apk add 需要添加的自定义镜像 ... 在Centos7下安装Docker环境 卸载旧版本 较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。 $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 安装 Docker Engine

Docker+Jenkins+Git+GitLab实现DevOps

偶尔善良 提交于 2020-08-12 01:47:41
先了解一下Jenkins Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,提供了数百个插件来支持构建,部署和自动化任何项目。我们可以使用 Jenkins 结合常用的 版本控制工具(git、svn等) 来实现自动部署项目,比如说我们从本地上传代码到Gitlab代码仓库,Jenkins就会帮我们自动同步代码,然后经编译打包之后推送至远程Docker仓库,再之后我们通过服务器从远程Docker仓库拉取镜像、创建及启动容器,然后就可以通过浏览器访问了,整个过程几乎都是自动完成的,而我们只需要上传代码就可以了,接下来我们一起来看看整个搭建过程吧。 本文环境 Docker Version 19.03.11: https://www.cnblogs.com/niceyoo/p/13096181.html Maven Version 3.3.9: https://www.cnblogs.com/niceyoo/p/13068935.html JDK Version 1.8.0_181: https://www.cnblogs.com/niceyoo/p/11483139.html GitLab: https://www.cnblogs.com/niceyoo/p/13057533.html Jenkins Version 2.222.4: 参考本文 通过本文可以了解哪些

Docker架构原理及简单使用

若如初见. 提交于 2020-08-10 05:28:06
一、简介 1、了解docker的前生LXC LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。 与传统虚拟化技术相比,它的优势在于: 1)与宿主机使用同一个内核,性能损耗小; 2)不需要指令级模拟; 3)不需要即时(Just-in-time)编译; 4)容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制; 5)避免了准虚拟化和系统调用替换中的复杂性; 6)轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享。 总结: Linux Container是一种轻量级的虚拟化的手段。Linux Container提供了在单一可控主机节点上支持多个相互隔离的server container同时执行的机制。Linux Container有点像chroot,提供了一个拥有自己进程和网络空间的虚拟环境,但又有别于虚拟机,因为lxc是一种操作系统层次上的资源的虚拟化。 2、LXC与docker什么关系?、 docker并不是LXC替代品,docker底层使用了LXC来实现,LXC将linux进程沙盒化,使得进程之间相互隔离

温故知新:Docker基础知识知多少

北城余情 提交于 2020-08-10 02:38:33
记得之前曾经粗略的写过一篇Docker的基础及ASP.NET Core部署Docker示例的 入门文章 ,但那个时候刚刚学习Docker对Docker的认知还比较浅,现在重新来温故知新一下。此外,本篇已加入《 .NET Core on K8S学习实践系列文章索引 》,可以点击查看更多容器化技术相关系列文章。 一、容器的用途   首先,我们来温习一下Docker的几个用途,亦或者说 Docker到底帮我们解决什么问题? 1、标准化打包   记得在容器技术出来之前,我们开发者进行打包一般都依赖于各自开发语言平台独有的打包机制,比如.NET和Java平台下都会依赖于各自不同的发布部署技术,但在容器技术出来之后,不管是.NET还是Java都会将其发布为 容器镜像 推送到镜像仓库中来进行复用。 2、隔离   每个容器在运行时都会认为自己是独自占有了一台机器,即一个独立的环境互不干扰。其实, 容器的本质是一个进程 ,进程与进程之间相互隔离造就了容器与容器互不影响的特性。在启动一个容器(即创建一个进程时), 通过 Namespace 技术实现容器的隔离、通过 Cgroups 来实现容器的资源控制 。   关于Namespace 和 Cgroups 可以继续浏览本文3.3小节。 3、标准化部署   在容器技术出来之前,和打包机制一样,我们都依赖于具体开发语言平台的部署机制,比如IIS

如何升级docker

ぃ、小莉子 提交于 2020-08-09 10:52:41
如何升级docker的版本 ? 查看当前的docker的版本? docker --version Docker version 1.13.1, build 94f4240/1.13.1 升级具体步骤: 查找主机上关于docker的软件包 rpm -qa | grep docker 移除相关软件包 yum remove -y docker-client-1.13.1-63.git94f4240.el7.centos.x86_64 yum remove -y docker-common-1.13.1-63.git94f4240.el7.centos.x86_64 yum remove -y docker-1.13.1-63.git94f4240.el7.centos.x86_64 校验docker 是否还可以用 docker 使用curl升级到最新版本  (失败的话,多尝试几次) curl -fsSL https://get.docker.com/ | sh 重新启动 systemctl restart docker 设置为开机启动docker systemctl enable docker 查看docker版本信息 docker -v https://github.com/xej520/Record-Share-Progress/blob/master/003---docker

阿里云ECS服务器安装docker

霸气de小男生 提交于 2020-08-09 02:39:05
一、为什么要使用Docker? 理由很简单,用了的人都说好用。在多系统的分布式项目中,往往传统的部署发包等操作,那是让每个上线的程序员恨的牙痒呀。通常都是通宵奋战,上生产解决各种部署发包问题。 个人简单总结一下三点: 1.部署简单且灵活,有独立的运行环境,避免了不必要的冲突。 2.节省了资源开销 3.类似于java, 打包一次各处部署运行。项目迁移灵活便捷。 二、什么是docker呢? 在讲之前,先来说说什么时容器?什么时虚拟机? 看下图: 简单解释一下,图左为容器,图右为虚拟机。 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。 两图比较,我们可以看到在容器中是由docker分配给项目独立的虚拟资源,项目运行是与底层系统隔离开来的。但虚拟机中可以看到项目运行是直接分配资源与底层系统交互。显然,如果App2不工作了,对于容器来说系统资源会运用在App1和3上。而对于VM,由于资源已经分配出去,所以就会出现利用率不高情况。 区别: 特性 容器 虚拟机 启动 秒级 分钟级 硬盘使用 一般为MB 一般为GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般是几十个 docker架构图: 解释: Client: docker client: 客户端提供操作指令给用户,用以连接服务端操作docker。

Docker入门——理解Docker的核心概念

廉价感情. 提交于 2020-07-29 07:49:36
1 前言 相信不少人听过这么一句话: 人类的本质是复读机。 在软件开发领域也一样,我们总是想寻找更好地方式复制优秀的逻辑或系统。最核心的方法是抽取通用逻辑和组件,把差异化的东西接口化或配置化,达到复用的效果。如 Java 的 Build Once, Run Everywhere ,还有 Spring 的强大的抽象能力。这是应用层面的复用, Docker 则在系统层面作文章,让我们可以快速复制一个系统(如CentOS)或一个服务(如Kafka)。 2 Docker的便利与优势 利用 Docker ,我们可以很快的使用别人已经建立好的镜像来发布一个完整的系统或某个组件。它至少提供了以下便利: 提供一致的运行环境。从同一个镜像文件创建容器,应用运行环境相同,保持开发环境、测试环境和生产环境的一致。这能减少许多因环境差异和配置差异带来的问题。测试提了Bug,开发再也不能第一时间回:是你环境没配好吧?是你不会用吧? 弹性的系统。因 Docker 可快速启动/停止,使系统能根据请求量/数据量动态的改变运行的服务数量,以提供伸缩可变的系统服务。 微服务开发。容器可以非常轻量级,而且可快速动态启停,非常适用于微服务架构。一台物理机器也能运行多个容器,不一定需要物理集群。 复制一个系统,我们可以通过增加一台物理机,或者通过虚拟机技术运行多个系统,现在有了 Docker ,还可以通过它来启动一个系统