使用 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
遇到其他的常用工具再補充