Docker Compose

春松客服的编译和部署 | 春松客服

会有一股神秘感。 提交于 2020-04-20 18:57:22
目录 1.软件依赖 操作系统 Linux Windows Docker Docker Compose Git Java JDK-Amazon Corretto Maven 2.源码构建 官方代码库及镜像 下载源码 文件目录 构建镜像 发布镜像 3.配置及运行 docker-compose.yml 启动服务 停止服务 4. 服务访问 5.延伸阅读 1.软件依赖 操作系统 Linux Ubuntu 16.04+ CentOS 7+ 不同操作系统中运行Docker不同版本的兼容性问题: https://success.docker.com/article/compatibility-matrix . Windows Windows Server 2016 + Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 举个例子:在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。 Docker就是类似的理念。 安装Docker: 文档:

Docker实战之MySQL主从复制

a 夏天 提交于 2020-04-20 07:45:48
前言 曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批? 其实很多时候,我们所缺少的只是对高大上的技术的演练。没有相关的业务需求,没有集群环境,然后便只是Google几篇博文,看下原理,便算是了解了。然而真的明白了吗?众多的复制粘贴中,那篇文章才对我们有用,哪些又是以讹传讹? 所幸容器技术的快速发展,让各种技术的模拟成为现实。接下来Docker相关的一系列文章,将以实战为主,帮助大家快速搭建测试和演练环境。 Docker文件编排 由于是测试为了演练用,这里用docker-compose进行配置文件的编排,实际的集群环境中并不是这么部署的。 **1. **编排docker-compose-mysql-cluster.yml,安装master和slave节点 version: '3' services: mysql-master: image: mysql:5.7 container_name: mysql-master environment: - MYSQL_ROOT_PASSWORD=root ports: - "3307:3306" volumes: - "./mysql/master/my.cnf:/etc/my.cnf" - "./mysql/master/data:

使用 Docker 在 Linux 上托管 ASP.NET Core 应用程序

ぐ巨炮叔叔 提交于 2020-04-20 07:19:57
说在前面 在阅读本文之前,您必须对 Docker 的中涉及的基本概念以及常见命令有一定了解,本文侧重实战,不会对相关概念详述。 同时请确保您本地开发机器已完成如下安装: Docker 18.06 或更高版本的 Docker 客户端 .NET Core SDK 2.2 或更高版本 Visual Studio Code 代码编辑器,以及 C# 语法插件 1.17.1 或更高版本 注:本文实验环境是 Ubuntu 18.04 LTS。如果您的机器是 Window,也可以把 Docker 装在虚拟机或服务器上。 创建演示项目 开始之前要先准备一个需要 Docker 容器化的 ASP.NET Core 应用程序,用于下面的操作演示。这里我用 .NET Core CLI 快速搭建一个全新的 Web API 项目。 启动 VS Code,打开集成终端,输入如下命令: dotnet new webapi -o TodoApi code -r TodoApi 以上便创建了一个名为 TodoApi 的 Web API 样板项目。 打开集成终端,输入 dotnet run 命令编译运行程序,然后打开浏览器跳转到 URL http://localhost:5000/api/values ,如正常返回如下 JSON 数据,说明应用程序本地成功运行。 ["value1","value2"] 现在让我们更进一步

docker深入学习

纵饮孤独 提交于 2020-04-20 07:07:19
docker深入学习 一、容器的介绍和容器的发展史 为什么要学习容器? 在openstack之后,目前互联网最火热的技术莫过于docker容器了,早在2015年,京东技术备战双11就是使用了10万+Docker,这两年docker更是如日中天。docker只是容器的一种,在学习docker之前,我有必要先了解一下什么是容器?有助于我们更好的了解docker。 什么是容器: 容器是在隔离的环境里面运行的一个进程,这个隔离的环境有自己的系统目录文件,有自己的ip地址,主机名等。 也有人称:容器是一种轻量级虚拟化的技术。 容器相对于kvm虚拟机的优势: 1:容器能提供接近宿主机的性能,而kvm虚拟机会损害一部分宿主机的性能; 2:同样硬件配置的宿主机最多能启动10虚拟机,那么它可以启动100+容器; 3:启动一台kvm虚拟机,可以能需要20秒,启动一个容器只需要1秒; 4:kvm需要硬件cpu的支持,容器不需要; linux开机启动流程: bios开机硬件自检 根据bios设置的优先启动项 读取mbr引导 加载内核 启动第一个进程/sbin/init 执行系统初始化脚本/etc/rc.d/rc.sysinit 完成系统初始化 运行想要的服务sshd 总结:kvm虚拟机运行一个sshd服务需要完整的开机启动流程,容器是直接启动sshd服务,中间的流程全部精简。(docker共用宿主机内核。

docker深入学习

丶灬走出姿态 提交于 2020-04-19 17:42:22
docker深入学习 一、容器的介绍和容器的发展史 为什么要学习容器? 在openstack之后,目前互联网最火热的技术莫过于docker容器了,早在2015年,京东技术备战双11就是使用了10万+Docker,这两年docker更是如日中天。docker只是容器的一种,在学习docker之前,我有必要先了解一下什么是容器?有助于我们更好的了解docker。 什么是容器: 容器是在隔离的环境里面运行的一个进程,这个隔离的环境有自己的系统目录文件,有自己的ip地址,主机名等。 也有人称:容器是一种轻量级虚拟化的技术。 容器相对于kvm虚拟机的优势: 1:容器能提供接近宿主机的性能,而kvm虚拟机会损害一部分宿主机的性能; 2:同样硬件配置的宿主机最多能启动10虚拟机,那么它可以启动100+容器; 3:启动一台kvm虚拟机,可以能需要20秒,启动一个容器只需要1秒; 4:kvm需要硬件cpu的支持,容器不需要; linux开机启动流程: bios开机硬件自检 根据bios设置的优先启动项 读取mbr引导 加载内核 启动第一个进程/sbin/init 执行系统初始化脚本/etc/rc.d/rc.sysinit 完成系统初始化 运行想要的服务sshd 总结:kvm虚拟机运行一个sshd服务需要完整的开机启动流程,容器是直接启动sshd服务,中间的流程全部精简。(docker共用宿主机内核。

ASP.NET Core 实战:使用 Docker 容器化部署 ASP.NET Core + MySQL + Nginx

孤街醉人 提交于 2020-04-19 11:15:36
一、前言   在之前的文章( ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路 )中,我介绍了如何在 Linux 环境中安装 .NET Core SDK / .NET Core Runtime、Nginx、MySQL,以及如何将我们的 ASP.NET Core MVC 程序部署到 Linux 上,同时,使用 supervisor 守护程序守护我们的 .NET Core 程序。如果,你有看过那篇文章,并且和我一样是个 Linux 小白用户的话,可能第一感觉就是,把 .NET Core 项目部署在 IIS 上也挺好。   将 .NET Core 项目部署到 Linux 上如此复杂,就没有简单的部署方式吗?   你好,有的,Docker 了解一下~~~   PS:这里的示例代码还是采用之前的毕业设计项目,在这篇文章发布的时候,我已经在程序的仓库中添加了对于 Docker 的支持,你可以下载下来,自己尝试一下,毕竟,实践出真知。    代码仓储: https://github.com/Lanesra712/Danvic.PSU 二、Step by Step   1、安装 Docker & Docker Compose   在代码交付的过程中,偶尔会遇到这样的问题,在本地测试是好的,但是部署到测试环境、生产环境时就出这样那样的问题,同时,因为本地与测试环境

初学云计算要了解什么 Docker容器该怎么使用

荒凉一梦 提交于 2020-04-18 17:40:12
  初学云计算要了解什么?Docker容器该怎么使用?Docker容器是一个开源的应用容器引擎,它能够自动执行重复性任务。有很多初学云计算的人不清楚Docker容器的使用方法以及应用场景,接下来千锋小编就给大家简单分享一下。   Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup、namespace以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。目前Docker容器的应用场景包括以下几种:   Docker部署Mongodb环境   1、远程获取Mongodb镜像   docker pull mongo   2、创建一个docker容器   docker run -p 27017:27017 -v /data/db --name docker_mongodb -d mongo   在上面的命令中,几个命令参数的详细解释如下:   -p 指定容器的端口映射(特殊说明:前面的是本机端口,后面的是容器的端口,添加-p参数主动将容器内部端口给暴漏出来,将服务器的27017端口映射到容器的27017端口,这样在外网就可通过 服务器的27017端口访问到我们的服务,Mongodb默认端口为27017。   -v 为设置容器的挂载目录,这里是将即本机中的目录挂载到容器中的/data/db中

从0到1实现一个react+express+ts+docker部署的前后端项目

♀尐吖头ヾ 提交于 2020-04-18 15:19:25
把自己掘金网站上点赞过的文章爬出来,然后可以根据标题,作者检索,可以按照发布时间,点赞数,阅读数排序,从而更高效的管理自己点赞过的文章,杜绝“收藏吃灰” 网站地址: juejin.58fe.com 源码地址: github.com/6fedcom/jue… 后端Express项目 安装Express npm install -g typescript npm install -g tslint npm install --save express // 安装普通 express 模块,并在 dependencies 下生成包记录 npm install --save-dev @types/express // 安装带有声明文件的 express 模块,并在 devDependencies 下生成包记录,仅开发模式下安装。 复制代码 目录结构 ├──backend ├──dist ├──src ├──app ├──controllers └──tsconfig.json 复制代码 app.ts import express from 'express' ; import { NextFunction, Request, Response } from 'express' ; // express申明文件定义的类型 import * as listController from ".

014.Docker Harbor+Keepalived+LVS+共享存储高可用架构

爱⌒轻易说出口 提交于 2020-04-18 04:25:27
一 多Harbor高可用介绍 共享后端存储是一种比较标准的方案,将多个Harbor实例共享同一个后端存储,任何一个实例持久化到存储的镜像,都可被其他实例中读取。通过前置LB组件,如Keepalived,可以分流到不同的实例中去处理,从而实现负载均衡,也避免了单点故障,其架构图如下: 方案说明: 共享存储:Harbor的后端存储目前支持AWS S3、Openstack Swift, Ceph等,本实验环境采用NFS; 共享Session:harbor默认session会存放在redis中,可将redis独立出来,从而实现在不同实例上的session共享,独立出来的redis也可采用redis sentinel或者redis cluster等方式来保证redis的高可用性,本实验环境采用单台redis; 数据库高可用:MySQL多个实例无法共享一份mysql数据文件,可将harbor中的数据库独立出来。让多实例共用一个外部数据库,独立出来的mysql数据库也可采用mysqls cluster等方式来保证mysql的高可用性,本实验环境采用单台mysql。 二 正式部署 2.1 前期准备 节点 IP地址 备注 docker01 172.24.8.111 Docker harbor node01 docker02 172.24.8.112 Docker harbor node02

fabric2.0 部署详解—(3)—配置并添加组织org3

左心房为你撑大大i 提交于 2020-04-17 20:42:40
通过上面两篇文章我们已经成功安装了fabric的基本环境和并成功运行了官方提供的first-network示例,接下来我们手动加入一个组织,来更加深刻的认识first-network示例中各配置文件中的关系,以及如何添加一个组织 1.我们需要在crypto-config.yaml配置文件中加入组织3(org3)以便根据配置生成各组织和用户所需要的证书及密钥,加入的代码如下所示 # Copyright IBM Corp. All Rights Reserved. # # SPDX-License-Identifier: Apache-2.0 # # --------------------------------------------------------------------------- # "OrdererOrgs" - Definition of organizations managing orderer nodes # --------------------------------------------------------------------------- OrdererOrgs: # --------------------------------------------------------------------------- # Orderer