WSL安装Docker并部署后端开发环境
WSL安装Docker并部署后端开发环境
本文记录了win10操作系统下安装基于Docker Deskop的开发环境。
一、Docker on Wsl安装
-
在Docker官网下载win安装包;
-
修改安装路径:
Docker默认安装在C:\Program Files\Docker
,我们可以选择安装完成后将 Docker 文件夹剪切到指定的文件路径,如D:\Program Files\Docker
;随后用管理员方式启动cmd,通过输入:
mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"
创建软连接。
- 更改docker的WSL镜像文件存储位置:
参考:在Windows下更改docker镜像文件存储位置——暄踽
二、部署镜像开发环境
下面列出了MySql、RabbitMQ、Nacos、Redis、ElasticSearch、Neo4j固定版本的镜像拉取和运行部署,你可以选择并更改为更合适的软件版本。
由于当docker在没有找到镜像时会自动拉取镜像到本地,因而我们可以选择直接运行docker run
,而不运行docker pull
。
Ⅰ、MySql
- 拉取镜像
docker pull mysql:8.0
- 挂载并运行
docker run \
--name mysql \
-d \
-p 3306:3306 \
-v /home/mysql/logs:/var/log/mysql \
-v /home/mysql/Data:/var/lib/mysql \
-v /home/mysql/mysql/conf.d:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0
Ⅱ、RabbitMQ
- 拉取镜像
docker pull rabbitmq:3.12-management
- 挂载并运行
docker run \
-id --name=rabbitmq \
-p 15672:15672 \
-p 5672:5672 \
-v /home/rabbitmq:/var/lib/rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=123456 \
rabbitmq:3.12-management
Ⅲ、Nacos
- 拉取镜像
docker pull nacos/nacos-server:v2.1.1
- 挂载并运行
docker run \
--name nacos \
-d \
-e MODE=standalone \
-p 8848:8848 \
nacos/nacos-server:v2.1.1
Ⅳ、Redis
- 拉取镜像
docker pull redis:5.0.14
- 挂载并运行
docker run \
-p 6379:6379 \
--name redis \
-v /home/redis/redis.conf:/etc/redis/redis.conf \
-v /home/redis/data:/data \
-d redis:5.0.14 redis-server /etc/redis/redis.conf \
--appendonly yes
Ⅴ、ElasticSearch
- 拉取镜像,注意ES和Kibana的版本应保持一致
docker pull elasticsearch:7.17.13
docker pull kibana:7.17.13
- 高版本安装Kibana的时候需要和ElasticSearch在同一网段内,为了方便操作,我们可以选择直接创建一个网络
docker network create elastic-net
- 挂载并运行
docker run -d \
--name elasticsearch \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v /home/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network elastic-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.17.13
dokcer run
运行ES可能会遇到:java.nio.file.AccessDeniedException
权限不足的问题,解决办法是为挂载ES的WSL本机目录/home/elasticsearch/
设定更高的权限:
chmod 777 /home/elasticsearch/**
等待一段时间让ES完成启动;输入网址http://localhost:9200
查看ES服务是否成功运行。
使用下述命令挂载并运行Kibana。其中ELASTICSEARCH_HOSTS
设置ES的地址,注意使用Windows本机的IP而不是WSL IP。
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://192.168.144.1:9200 \
--network elastic-net \
-p 5601:5601 \
-v /home/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
kibana:7.17.13
我们可以在挂载的conf下的kibana.yml
中配置Kibana的中文界面:
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
# 配置中文
i18n.locale: zh-CN
- 为ES配置ik-analysis中文分词器:
ik分词器需要在github上下载与ES版本完全对应的版本,随后解压放置在挂载的/elasticsearch/plugin
目录下,重启ES即可。
如果GitHub上没有官方构建的ES对应版本,则下载离自己ES版本最近的ik-analysis版本的压缩包,解压后修改plugin-descriptor.properties
配置文件中的下述配置,将版本改为当前ES的版本即可。
# elasticsearch.version=7.17.7
elasticsearch.version=7.17.13
在Kibana中的开发工具中测试是否成功安装IK分词器
GET /_analyze
{
"analyzer": "ik_max_word",
"text": "IT门徒,带你打开通往梦想的门!"
}
Ⅵ、Neo4j
- 拉取镜像
docker pull neo4j:4.4.18-community
- 挂载并运行
docker run -d --name neo4j \
-p 7474:7474 \
-p 7687:7687 \
-v /home/neo4j/data:/data \
-v /home/neo4j/logs:/logs \
-v /home/neo4j/conf:/var/lib/neo4j/conf \
-v /home/neo4j/import:/var/lib/neo4j/import \
--env NEO4J_AUTH=neo4j/123456 \
neo4j:4.4.18-community
参考文章
本文来自博客园,作者:TfiyuenLau,转载请注明原文链接:https://www.cnblogs.com/tfiyuenlau/p/17656771.html