1. 安装mysql
-
寻找mysql镜像:在Docker镜像网站搜寻镜像
点击上图的mysql,就可以进入以下的详情页面
使用上图的命令,就可以拉取一个mysql镜像。此外,可以在详情页面找到如何来使用mysql镜像的相关介绍
-
拉取mysql镜像 | 命令 | 描述 | | --- | --- | | docker pull mysql | 下载最新版Mysql镜像 (此命令就等同于 : docker pull mysql:latest ) | | docker pull mysql:xxx | 下载指定版本的Mysql镜像 (xxx指具体版本号,如5.7) |
-
创建mysql容器并运行
docker run \ --name mysql5.7 \ -d \ -p 3306:3306 \ --restart unless-stopped \ -v /root/data/mysql/log:/var/log/mysql \ -v /root/data/mysql/data:/var/lib/mysql \ -v /root/data/mysql/conf:/etc/mysql/conf.d \ -e MYSQL_ROOT_PASSWORD=zxcvbnm \ mysql:5.7命令 描述 docker run 创建一个新的容器 , 同时运行这个容器 --name mysql5.7 启动容器的名字 -d 后台运行 -p 3306:3306 将容器的 3306 (后面那个) 端口映射到主机的 3306 (前面那个) 端口 --restart unless-stopped 容器重启策略 -v /root/data/mysql/log:/var/log/mysql 将日志文件夹挂载到主机 -v /root/data/mysql/data:/var/lib/mysql 将mysql储存文件夹挂载到主机 -v /root/data/mysql/conf:/etc/mysql/conf.d 将配置文件夹挂载到主机 -e MYSQL_ROOT_PASSWORD=root 设置 root 用户的密码 mysql:5.7 启动哪个版本的 mysql (本地镜像的版本) tips:命令中所有'冒号'前面的是主机配置, '冒号'后面的是mysql容器配置。
-
查看mysql是否运行
命令:
docker ps -
进入mysql容器:
docker exec -it xxx /bin/bash -
查看mysql日志:
docker logs xxx
2. 安装nginx
-
寻找nginx镜像:在Docker镜像网站搜寻镜像
-
拉取nginx镜像:
docker pull nginx:1.22.1 -
创建nginx配置文件
# 创建挂载目录 mkdir -p /root/data/nginx/{conf,log,html} # 生成容器 docker run --name nginx-1.22.1 -p 80:80 -d nginx:1.22.1 # 将容器nginx.conf文件复制到宿主机 docker cp nginx-1.22.1:/etc/nginx/nginx.conf /root/data/nginx/conf/nginx.conf # 将容器conf.d文件夹下内容复制到宿主机 docker cp nginx-1.22.1:/etc/nginx/conf.d /root/data/nginx/conf/conf.d # 将容器中的html文件夹复制到宿主机 docker cp nginx-1.22.1:/usr/share/nginx/html /root/data/nginx/ -
创建nginx容器并运行
# 删除正在运行的nginx容器 docker rm -f xxx # 运行以下命令 docker run \ -p 80:80 \ --name nginx-1.22.1 \ -v /root/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /root/data/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /root/data/nginx/log:/var/log/nginx \ -v /root/data/nginx/html:/usr/share/nginx/html \ -d nginx:1.22.1(vue项目部署)需把vue打包好的目录下的文件全部移动到
/root/data/nginx/html下。 -
查看nginx是否运行
命令:
docker ps -
页面访问
3. 构建springboot
-
创建jar包目录并放入jar包
mkdir /root/data/jar cp /root/back_template-0.0.1-SNAPSHOT.jar /root/data/jar -
编写Dockerfile
# 基于openjdk 镜像 FROM openjdk:17 # 将本地文件夹挂在到当前容器 VOLUME /root/data/jar # 复制文件到容器 ADD back_template-0.0.1-SNAPSHOT.jar test.jar # 声明需要暴露的端口 EXPOSE 10000 # 配置容器启动后执行的命令 ENTRYPOINT ["sh", "-c", "java $PARAMS -Djava.security.egd=file:/dev/urandom -jar /test.jar"] -
构建镜像
# -t 指定生成的镜像的tag,/root/data/jar指定docker的文件所在的目录 docker build -t test/back_template:v1 /root/data/jar -
查看构建的镜像
-
运行容器:
docker run -it -d -p 10000:10000 test/back_template:v1 -
查看容器是否运行
命令:
docker ps