本章主要讲windows的子系统wsl(Ubuntu20.4版本)上安装docker做本地测试环境,安装docker这里就不说了,主要讲怎么配置
1.配置mysql
docker run -d \
--name my_mysql \
-p 3307:3306 \
--restart=always \
-v /my/local/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=a \
mysql:8
大致意思是,运行一个容器,名字叫my_mysql,可以自定义
然后将3307端口映射到容器内的3306端口,意思是当访问数据库时,用3307就可以了
连接数据库时的默认端口一般为3306,这里测试环境改成3307避免冲突,
然后是自动启动,这个很方便,docker容器启动时就会自己启动,不用一个个手工启动了
然后时挂载目录,这里就是把数据库的数据放在指定的文件夹里面,后面哪个路径是容器内部默认存放数据的文件
然后设置root用户密码,这里简单设置为a
最后跟上镜像的名字,如果没有这个镜像会自动下载的
目前国内大部分镜像都用不了了这里推荐一个我找到的目前2024/8/29可以用的镜像
2.配置nginx
配置这个稍微有一点麻烦,前面其他步骤和上面差不多就不说了,主要是文件的挂载,
这里需要先创建这些文件夹,最好从容器中复制过来,这里直接把指令复制过来把,当时的我找了半天
卡了我好久
# 1. 创建文件夹
sudo mkdir -p /home/nginx/conf
sudo mkdir -p /home/nginx/conf/conf.d
sudo mkdir -p /home/nginx/log
sudo mkdir -p /home/nginx/html
# 2. 启动 Nginx 容器
docker run --name nginx -d nginx:1.24.0
# 3. 复制默认的 Nginx 配置文件和目录
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/
docker cp nginx:/var/log/nginx /home/nginx/
docker cp nginx:/usr/share/nginx/html /home/nginx/
# 4. 停止并删除旧的容器
docker stop nginx
docker rm nginx
# 5. 重新创建并启动 Nginx 容器,挂载主机目录
docker run --name nginx -p 9002:80 \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:1.24.0
nginx是用来发布前端的项目的,这个时候需要把前端项目放在/home/nginx/html下,看文件名应该也知道,然后还需要在配置文件中指定路径
这里用了个名为bank_springboot的项目,此时监听的端口为80,再创建容器时映射的端口为9002所有只要外部访问9002端口就能访问到这个项目,然后设置了index.html为项目首页
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
root /usr/share/nginx/html/bank_springboot;
index index.html index.htm;
}
}
最后运行即可(学习用,怕忘记,当时卡了我一天差点奔溃)