Docker搭建常用的开发环境

YYJ-Blog | 业精于勤,荒于嬉。 / 2023-08-13 / 原文

本地制作JDK17镜像:

制作jdk17镜像:
# 新建目录
mkdir -p /usr/local/dockerjdk17
cd /usr/local/dockerjdk17
# 下载jdk17包
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
# 解压后查看jdk版本
tar -zxvf jdk-17_linux-x64_bin.tar.gz

# 新建文件Dockerfile
vim Dockerfile
# Dockerfile文件内容
FROM centos:7
MAINTAINER emon
WORKDIR /usr/local/java
ADD jdk-17_linux-x64_bin.tar.gz  /usr/local/java/
ENV JAVA_HOME=/usr/local/java/jdk-17.0.8
ENV CLASSPATH=.:$JAVA_HOME/lib/jrt-fs.jar
ENV PATH=$PATH:$JAVA_HOME/bin

# 构建镜像
docker build -t='jdk17' .
# 启动容器
docker run -di --name jdk17 -d jdk17
# 进入容器
docker exec -it jdk17 /bin/bash
# 校验是否安装成功
java -version

部署mysql环境:

# 下载镜像
docker pull mysql:5.7

# 运行容器并进行目录挂载,并设置开机自启
docker run -di --restart=always --name mysql -v /home/dockerData/mysql/data:/var/lib/mysql -v /home/dockerData/mysql/conf:/etc/mysql/conf.d -v /home/dockerData/mysql/log:/var/log/mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=www.yyj.com mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci

部署nginx环境:

# 拉取镜像
docker pull nginx
# 运行一个测试容器
docker run --name nginx_test -d -p 80:80 nginx
# 从测试容器中同步配置文件等信息
docker cp nginx_test:/etc/nginx/conf.d /home/dockerData/nginx/conf.d
docker cp nginx_test:/etc/nginx/nginx.conf /home/dockerData/nginx/nginx.conf
docker cp nginx_test:/usr/share/nginx/html/ /home/dockerData/nginx/html/
docker cp nginx_test:/var/log/nginx/ /home/dockerData/nginx/log/
# 停用并删除测试容器
docker stop nginx_test
docker rm -f nginx_test
# 启动容器进行目录挂载并设置开机自启
docker run -di --restart=always --name nginx -p 80:80 -v /home/dockerData/nginx/log/:/var/log/nginx -v /home/dockerData/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/dockerData/nginx/conf.d:/etc/nginx/conf.d -v /home/dockerData/nginx/html/:/usr/share/nginx/html nginx