Docker Compose

异常错误捕获神器Sentry的Docker部署9.1 和钉钉通知

狂风中的少年 提交于 2019-11-29 13:32:14
需要的环境 docker python docker-compose 下载安装资源 git clone https://github.com/getsentry/onpremise.git cd onpremise # 切换到稳定版 git checkout stable 安装前配置 vim config.yml 把 mail.backend 修改成 django_smtp_ssl.SSLEmailBackend ,默认的 smtp 发送 SSL 会有问题。 ############### # Mail Server # ############### mail.backend: 'django_smtp_ssl.SSLEmailBackend' # Use dummy if you want to disable email entirely # mail.host: 'localhost' # mail.port: 25 # mail.username: '' # mail.password: '' vim docker-compose.yml 找到 SENTRY_EMAIL_HOST 修改后如下 SENTRY_MEMCACHED_HOST: memcached SENTRY_REDIS_HOST: redis SENTRY_POSTGRES_HOST: postgres #

比 jenkins 更为好用的的部署平台,开源walle

杀马特。学长 韩版系。学妹 提交于 2019-11-29 08:56:37
安装docker、docker-compose 在docker-compose.yml同级目录新建walle.env,连接数据库MYSQL_USER默认使用root,如需使用其他用户,需自建用户更改walle.env文件 vi walle.env # Set MySQL/Rails environment MYSQL_USER=root MYSQL_PASSWORD=walle MYSQL_DATABASE=walle MYSQL_ROOT_PASSWORD=walle MYSQL_HOST=db MYSQL_PORT=3306 新建docker-compose.yml文件 # docker version: 18.06.0+ # docker-compose version: 1.23.2+ # OpenSSL version: OpenSSL 1.1.0h version: "3.7" services: web: image: alenx/walle-web:2.1 container_name: walle-nginx hostname: nginx-web ports: # 如果宿主机80端口被占用,可自行修改为其他port(>=1024) # 0.0.0.0:要绑定的宿主机端口:docker容器内端口80 - "80:80" depends_on: - python

七、使用Docker Compose部署Apps

社会主义新天地 提交于 2019-11-29 08:39:40
使用Docker Compose可以部署多容器的应用程序。Docker Compose 和 Docker Stacks很相似。本章节,我们主要聚焦于Docker Compose,可在运行在单引擎模式的Docker节点上部署和管理多容器应用程序。下一章节的 Docker Stacks,可在运行在集群模式的Docker节点上部署和管理多容器应用程序。 现代应用程序由多个相互交互的多个小服务组成,以形成一个有用的app,我们称之为微服务。一个app也许由以下四个服务组成:web前端、订购、分类、后端数据库。 部署和管理许多服务可能是很困难。这正是Docker Compose发挥作用的地方 作为用替换用脚本和Docker命令将所有东西粘在一起,Docker Compose允许在单个声明性配置文件中描述整个应用程序。然后用一个单一的命令部署它。 一旦部署应用程序后,就可以使用一组简单的命令来管理它的整个生命周期。 一、安装Compose 在很多平台上都可以使用Docker Compose,本节主要关注Windows和Linux。 (1)在Windows 10上安装Compose 在Windows 10 上运行Docker的推荐方式是Docker for Windows(DfW),Docker Compose是标准DfW安装的一部分,因此一般安装了DfW,你就可以运行Docker

docker Swarm 中如何在docker-compose使用变量

纵然是瞬间 提交于 2019-11-29 08:28:40
先看一个docker-comose的yml文件 version: "3.2" services: docker-test: hostname: docker-test image: '${DOCKER_REGISTRY_URL}/dockerteam/docker-test:1.0' ports: - "9118" env_file: .env deploy: replicas: 1 restart_policy: condition: on-failure placement: constraints: [node.role== worker] resources: limits: # cpus: '1' memory: 1GB reservations: # cpus: '0.2' memory: 512M 如上文件中,env_file在docker-comose 命令里是支持的,只需要提供对应的.env文件,在.env文件中设置${DOCKER_REGISTRY_URL}变量即可。 但是如果线上在docker swarm 集群环境中docker-comose使用env_file是无效的,那这时候怎么办?这时候不能再去使用.env文件了,我尝试了一下把变量加入到宿主机的环境变量里: export DOCKER_REGISTRY_URL=docker.sifu.cn:12135

基于slack的企业内部web聊天工具

点点圈 提交于 2019-11-29 08:09:44
Let's Chat 是一个类似 Slack 的团队聊天软件,基于 Node.js 和 MongoDB 开发,易于发布,适合中小型团队,支持 LDAP/Kerberos 认证,提供 REST 风格 API 和 XMPP 支持。 特性: BYOS 独立软件,可安装到公司内部 支持 LDAP/Kerberos 认证 XMPP 多用户聊天 多个聊天室 支持桌面提醒 支持使用 @ 提到某人 可以在聊天中嵌入图片 支持文件上传 好友功能 RESTful API 提供聊天历史记录 使用 MIT 宽松许可证 可直接安装到本地,或者通过 Docker, Vagrant 和 Heroku 安装。 界面截图: 1、下载源码: https://github.com/sdelements/lets-chat 2、安装docker、docker-compose 3、cd docker目录,执行docker-compose up启动。 4、浏览器访问 http://localhost:8080 来源: https://my.oschina.net/ydsjiang/blog/3103960

搭建公司内部的问题需求跟踪平台(docker + actionview)

不羁的心 提交于 2019-11-29 07:43:09
1、安装docker 2、安装docker-compose 3、拉取代码 git clone https://github.com/lxerxa/actionview.git actionview 4、启动容器 cd actionview/docker mkdir data && mkdir data/db && mkdir data/uploads chmod -R 777 ./data docker-compose up -d 5、访问 http://localhost:8000/ 管理员登录:user: admin@action.view , password: actionview 6、演示地址 http://www.actionview.cn:8080/ 账号密码:hongzhong/actionview 7、官网 http://actionview.cn/ 来源: https://my.oschina.net/ydsjiang/blog/3103013

centos7安装docker、docker-compose、es、kibana

こ雲淡風輕ζ 提交于 2019-11-29 06:47:16
一、安装docker 1、更新yum包 sudo yum update 2、卸载旧版本(如果安装过旧版本的话) sudo yum remove docker docker-common docker-selinux docker-engine 3、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 4、设置yum源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 5、安装docker-ce sudo yum install docker-ce 6、启动并加入开机启动 sudo systemctl start docker sudo systemctl enable docker 7、验证安装 sudo docker version 二、安装docker-compose 来源: https://my.oschina.net/gentlelions/blog/3102000

Docker安装Zookeeper集群

对着背影说爱祢 提交于 2019-11-29 05:39:23
一、 安装Docker (略) 二、 安装Docker Compose (略) 三、 编写docker-compose.yml文件 3.1 新建配置文件 touch cluster.yml vim cluster.yml cluster.yml 配置如下 version: '3.7' services: zoo1: image: zookeeper:3.5.5 restart: always hostname: zoo1 container_name: zookeeper_1 volumes: - /usr/local/use_data/zookeeper/cluster/zoo_1/data:/data - /usr/local/use_data/zookeeper/cluster/zoo_1/log:/datalog ports: - 2181:2181 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 zoo2: image: zookeeper:3.5.5 restart: always hostname: zoo2 container_name: zookeeper

重新认识微服务部署

試著忘記壹切 提交于 2019-11-29 04:29:13
by 何健 容器化技术的动机 随着人类软件活动的日益频繁,早期的瀑布式开发逐渐淡出主流开发模式的视野,敏捷逐渐占据主导。并且衍生出了持续发布模式,微服务架构等。这些对旧的部署模式是一个较大冲击,对部署的快速,敏捷,稳定性都有了较高的要求。 敏捷开发(迭代开发) 那么什么是"迭代开发"呢?迭代的英文是 iterative,直译为"重复",迭代开发其实就是"重复开发"。 对于大型软件项目,传统的开发方式是采用一个大周期(比如一年)进行开发,整个过程就是一次"大开发";迭代开发的方式则不一样,它将开发过程拆分成多个小周期,即一次"大开发"变成多次"小开发",每次小开发都是同样的流程,所以看上去就好像重复在做同样的步骤。 举例来说,SpaceX 公司想造一个大推力火箭,将人类送到火星。但是,它不是一开始就造大火箭,而是先造一个最简陋的小火箭 Falcon 1。结果,第一次发射就爆炸了,直到第四次发射,才成功进入轨道。然后,开发了中型火箭 Falcon 9,九年中发射了70次。最后,才开发 Falcon 重型火箭。如果 SpaceX 不采用迭代开发,它可能直到现在还无法上天。 迭代开发将一个大任务,分解成多次连续的开发,本质就是逐步改进。开发者先快速发布一个有效但不完美的最简版本,然后不断迭代。每一次迭代都包含规划、设计、编码、测试、评估五个步骤,不断改进产品,添加新功能。通过频繁的发布

从零开始学习docker(二十一)service管理

删除回忆录丶 提交于 2019-11-28 18:41:07
本节我们介绍如何以方便的方式管理service。 我们之前提到docker-compose,适用于本地开发,可以在本机部署,提供了很大的便利。而swarm是一个cluster,可不可以通过docker-compose来实现定义的application?答案是可以,但是不推荐。仅仅使用docker命令行就可以。我们依然可以使用docker-compose.yml文件去定义一个应用,但是我们一般不用docker-compose去部署,而是直接使用docker命令,而且我们这个部署只能用于swarm cluster。 deploy version "3.3" services: wordpress: image: wordpress ports: - 8080:80 networks: - overlay deploy: mode: replicated replicas: 2 endpoint_mode: vip placement: constraints: - node.role == manager - engine.labels.operatingsystem == ubuntu 16.04 preferences: - spread: node.labels.zone resources: limites: cpus: '0.50' memory: 50M 上面是一个例子: