注意:下面的教程主要是针对 Centos7 的,如果使用的其他发行版会有细微的差别,请查看官方文档。
Docker部署一个SpringBoot项目(超级详细)
- 一、安装Docker
- 1.卸载旧版
- 2.配置Docker的yum库
- 3.安装Docker
- 4.设置开机自启动
- 5.配置镜像加速
- 二、安装MySQL容器
- 三、自定义镜像
- 四、参考
一、安装Docker
1.卸载旧版
- 首先如果系统中已经存在旧的
Docker
,则先卸载:yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2.配置Docker的yum库
-
首先安装一个
yum
工具yum install -y yum-utils
-
安装成功后,执行命令,配置
Docke
r的yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.安装Docker
- 安装Docker
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker --version
4.设置开机自启动
- 设置
Docker
开机自启动,并且重启systemctl enable docker systemctl restart docker
5.配置镜像加速
- 这个也可以不用配置,只是让下载镜像的速度更快而已。
- 这个需要注册一个阿里云的账号,每个人的地址都是唯一的。
二、安装MySQL容器
- 创建
MySQL
文件的存放位置mkdir -p ~/dev/mysql cd ~/dev/mysql mkdir data mkdir conf mkdir init mkdir file ll cd ~
- 将
初始化SQL脚本
放置在init
目录下(没有可以不放) - 注意:这个只有在第一次创建MySQL容器的时候才会初始化,并且一定要在SQL脚本文件中选择database。
- 安装
MySQL
镜像docker run -d \ --name mysql \ -p 3306:3306 \ -e TZ=Asia/Shanghai \ -e MYSQL_ROOT_PASSWORD=123456 \ -v /root/dev/mysql/data:/var/lib/mysql \ -v /root/dev/mysql/init:/docker-entrypoint-initdb.d \ -v /root/dev/mysql/conf:/etc/mysql/conf.d \ -v /home/dev/mysql/file:/var/lib/mysql-files \ mysql
- 创建一个网络并且将
MySQL
加入网络中docker network create GDB docker network connect GDB mysql
三、自定义镜像
- 创建存放应用的目录
mkdir -p ~/myapp/olive-app cd ~/myapp/olive-app
- 编写
Dockerfile
文件,自定义镜像# 基础镜像 FROM openjdk:17 #设定时区 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 拷贝项目 COPY olive-0.1.jar /olive.jar # 入口 ENTRYPOINT ["java", "-jar", "/olive.jar"]
- 将
xxx.jar
和Dockerfile
一起上传到服务器
- 构建自己应用的镜像
docker build -t olive .
- 利用镜像生成容器并且加入到前面创建的网络中与MySQL通信
docker run -d --name olive -p 8800:8800 --network GDB olive
四、参考
- [1]. 镜像仓库
- [2]. Dockerfile的copy复制文件夹