使用 docker 部署常用的开发环境
使用 docker 部署常用的开发环境
Intro#
使用 docker,很多环境可以借助 docker 去部署,没必要所有的环境都在本地安装,十分方便。
前段时间电脑之前返厂修了,回来之后所有的软件都要重新装一遍,很麻烦,有些环境就直接用 docker 部署了,免去了还要再下载软件重新安装的麻烦。
部署 SqlServer#
docker 部署 SqlServer linux
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 --name sqlserver --restart=always -d mcr.microsoft.com/mssql/server:2019-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 mcr.microsoft.com/mssql/server:2019-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 --restart=always --name rabbitmq-server -p 5672:5672 -p 15672:15672 rabbitmq:3-management
更多信息:https://hub.docker.com/_/rabbitmq
部署 MongoDB#
docker 部署 MongoDB(无密码配置)
docker run -d --restart=always --name mongo-server -p 27017:27017 mongo
带密码配置部署
docker run -d --restart=always --name mongo-server -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=secret mongo
More#
遇到其他的常用工具再补充
作者:weihanli
出处:https://www.cnblogs.com/weihanli/p/deploy-develop-environment-via-docker.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分类:
Soluntions
标签:
docker
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?