WSL安装Docker并部署后端开发环境

WSL安装Docker并部署后端开发环境

本文记录了win10操作系统下安装基于Docker Deskop的开发环境。

一、Docker on Wsl安装

  1. Docker官网下载win安装包;

  2. 修改安装路径:

Docker默认安装在C:\Program Files\Docker,我们可以选择安装完成后将 Docker 文件夹剪切到指定的文件路径,如D:\Program Files\Docker;随后用管理员方式启动cmd,通过输入:

mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"

创建软连接。

  1. 更改docker的WSL镜像文件存储位置:

参考:在Windows下更改docker镜像文件存储位置——暄踽

二、部署镜像开发环境

下面列出了MySql、RabbitMQ、Nacos、Redis、ElasticSearch、Neo4j固定版本的镜像拉取和运行部署,你可以选择并更改为更合适的软件版本。

由于当docker在没有找到镜像时会自动拉取镜像到本地,因而我们可以选择直接运行docker run,而不运行docker pull

Ⅰ、MySql

  1. 拉取镜像
docker pull mysql:8.0
  1. 挂载并运行
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

  1. 拉取镜像
docker pull rabbitmq:3.12-management
  1. 挂载并运行
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

  1. 拉取镜像
docker pull nacos/nacos-server:v2.1.1
  1. 挂载并运行
docker run \
--name nacos \
-d \
-e MODE=standalone \
-p 8848:8848 \
nacos/nacos-server:v2.1.1

Ⅳ、Redis

  1. 拉取镜像
docker pull redis:5.0.14
  1. 挂载并运行
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

  1. 拉取镜像,注意ES和Kibana的版本应保持一致
docker pull elasticsearch:7.17.13

docker pull kibana:7.17.13
  1. 高版本安装Kibana的时候需要和ElasticSearch在同一网段内,为了方便操作,我们可以选择直接创建一个网络
docker network create elastic-net
  1. 挂载并运行
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
  1. 为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

  1. 拉取镜像
docker pull neo4j:4.4.18-community
  1. 挂载并运行
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

参考文章

  1. Windows如何卸载并重装Docker Desktop
  2. docker desktop 更改安装目录
  3. 在Windows下更改docker镜像文件存储位置
  4. Docker 安装 Mysql 容器 (完整详细版)
  5. Docker安装部署RabbitMQ
  6. Nacos Docker——Qiuck Start
  7. 最详细的docker中安装并配置redis
  8. 你必须会的Docker安装ElasticSearch教程
  9. docker安装部署neo4j
posted @ 2023-08-25 14:03  TfiyuenLau  阅读(106)  评论(0编辑  收藏  举报