使用 docker 部署常用的开发环境

Intro

使用 docker,很多环境可以借助 docker 去部署,没必要所有的环境都在本地安装,十分方便。

前段时间电脑之前返厂修了,回来之后所有的软件都要重新装一遍,很麻烦,有些环境就直接用 docker 部署了,免去了还要再下载软件重新安装的麻烦。

部署 SqlServer

docker 部署 SqlServer 2017 linux

docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 --name sqlserver --restart=always -d microsoft/mssql-server-linux:2017-latest

如果希望数据持久化,可以挂载数据目录,

sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>'  --name 'sql1' -p 1401:1433 -v sql1data:/var/opt/mssql  -d  microsoft/mssql-server-linux:2017-latest

部署 Redis

docker 部署 redis

docker run --restart=always -d -p 6379:6379 --name redis-server redis:alpine

更多:https://hub.docker.com/_/redis?tab=description

部署 MySql

docker run --restart=always -d -p 3306:3306 --name mysql-server  -e MYSQL_ROOT_PASSWORD=<rootPassword> mysql:8.0

挂载配置文件:

docker run --restart=always -d -p 3306:3306 --name mysql-server  -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=<rootPassword> mysql:8.0

挂载数据库目录

docker run --restart=always -d -p 3306:3306 --name mysql-server -v "$PWD/data":/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:8.0

更多:https://hub.docker.com/_/mysql?tab=description

部署 elasticsearch

elasticsearch 一般与 kibana 一起部署,kibana 可以提供一个ui界面方便查询,我们可以使用 docker-compose 部署一个 elasticsearch 和 kibana 实例

version: '2'
services:
elasticsearch:
image: elasticsearch:5.6
container_name: elasticsearch
ports:
- 9200:9200
ulimits:
nofile:
soft: 65536
hard: 65536
restart: always
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" #specific es java memory
- "discovery.type=single-node"
volumes:
- ./es/data:/usr/share/elasticsearch/data
- ./es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
mem_limit: 1g # memory limit kibana:
image: kibana:5.6
container_name: kibana
ports:
- 5601:5601
links:
- elasticsearch:elasticsearch
depends_on:
- elasticsearch
environment:
ELASTICSEARCH_URL: http://elasticsearch:9200

直接使用 docker run 部署:

docker run -d -p 9200:9200 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" --name=elasticsearch elasticsearch:5.6-alpine

docker run --name=kibana -d -p 5601:5601 --link elasticsearch:elasticsearch kibana:5.6

部署 RabbitMQ

docker 部署 rabbitMQ

docker run -d --name rabbitmq-server -p 15672:15672 rabbitmq:3-management

更多信息:https://hub.docker.com/_/rabbitmq

More

遇到其他的常用工具再补充

使用 docker 部署常用的开发环境的更多相关文章

  1. Linux 桌面玩家指南:18. 使用 Docker 隔离自己的开发环境和部署环境

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  2. 如何通过Docker搭建一个swoft开发环境

    本篇文章给大家分享的内容是关于如何通过Docker搭建一个swoft开发环境 ,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们. Swoft首个基于 Swoole 原生协程的新时代 PHP ...

  3. 用 Docker 搭建 ORACLE 数据库开发环境

    用 Docker 搭建 ORACLE 数据库开发环境 需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题. 还好,现在有 Docker 化的部署方式,省去很 ...

  4. 使用Docker快速搭建PHP开发环境

    最近有个同事找过来,希望我对在很早之前写的一个PHP网站上增加一些功能,当时开发使用xampp构建的本地开发环境,但是现在我的笔记本电脑已经更新,没有当时的开发环境.本着尽量不往电脑上装无用软件的原则 ...

  5. 【Yeoman】热部署web前端开发环境

    本文来自 “简时空”:<[Yeoman]热部署web前端开发环境>(自动同步导入到博客园) 1.序言 记得去年的暑假看RequireJS的时候,曾少不更事般地惊为前端利器,写了<Sp ...

  6. 使用vagrant一键部署本地php开发环境(二)制作自己的vagrant box

    在上篇的基础上 ,我们已经安装好了virtualbox和vagrant,没有安装的话,参照上篇 使用vagrant一键部署本地php开发环境(一) 1.从网易镜像或阿里等等镜像下载Centos7 ht ...

  7. PyCharm使用之利用Docker镜像搭建Python开发环境

      在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装 ...

  8. 五分钟用Docker快速搭建Go开发环境

    挺早以前在我写过一篇用 `Docker`搭建LNMP开发环境的文章:[用Docker搭建Laravel开发环境](http://mp.weixin.qq.com/s?__biz=MzUzNTY5MzU ...

  9. 用 Docker 快速配置前端开发环境

    来源于:http://dockone.io/article/1714 今天是你入职第一天. 你起了个大早,洗漱干净带着材料去入职. 签了合同,领了机器,坐到工位,泡一杯袋装红茶,按下开机键,输入密码, ...

随机推荐

  1. NRF5340首款双核处理器无线SoC

    nRF5340基于Nordic经过验证并在全球范围广泛采用的nRF51和nRF52系列多协议SoC而构建,同时引入了具有先进安全功能的全新灵活双处理器硬件架构,支持包括蓝牙5.1/低功耗蓝牙 (Blu ...

  2. flex布局中flex-grow与flex-shrink的计算方式

    CSS 中的 Flex(弹性布局) 可以很灵活的控制网页的布局,其中决定 Flex 布局内项目宽度/高度的是三个属性: flex-basis, flex-grow, flex-shrink. flex ...

  3. word2vec用到的c语言知识

    argc,avgv用法 argc 表示有几个参数,因为至少要指定一个应用程序的名,所以argc>=1. argv表示参数是什么. int main(int argc, char **argv) ...

  4. JsonClassGenerAtor 使用json字符串生成对象

    https://pan.baidu.com/s/1Mz1xB6L3blqrRiRAMuJpIg 链接

  5. rails gem ransack 之模糊搜索

    gem 'ransack' eq: "等于" eq_any: "等于任意值" eq_all: "等于所有值" not_eq: "不 ...

  6. JS中forEach和map的区别

    共同点: 1.都是循环遍历数组中的每一项. 2.forEach()和map()里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input. 3.匿名函数中 ...

  7. 真伪随机数 ——Random和SecureRandom

    Random Random用来创建伪随机数.所谓伪随机数,是指只要给定一个初始的种子,产生的随机数序列是完全一样的. 要生成一个随机数,可以使用nextInt().nextLong().nextFlo ...

  8. NodeJS2-4环境&调试----global变量

    global全局对象,希望把全局访问到的对象,属性和方法等挂到global对象上,除了用户自定义的方法外,global本身默认带着一些常用的属性和方法的 CommonJS Buffer.process ...

  9. poj 1062 昂贵的聘礼 (有限制的最短路)

    昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 56594   Accepted: 17083 Descripti ...

  10. python并发之多进程

    #mutiprocessing模块 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程.Pytho ...