docker打包springboot镜像
一.IDEA打包Docker镜像
1.IDEA中配置docker插件
主要是为了给idea配置docker插件
2.配置gradel文件
主要是需要给项目中配置docker插件
3.配置DockerFile文件
第一行的FROM命令,指定了我们这个镜像基于openjdk这个镜像制作。
第二行的VOLUME命令,定义了一个持久化存储,指向容器中的tmp文件夹。SpringBoot应用为内置的Tomcat服务器实例创建的默认工作目录为tmp,通过该命令,可以在运行Docker的宿主机目录/var/lib/docker创建一个临时的目录,挂接到容器内部的tmp去。
如果你的SpringBoot应用不会进行持久化写操作,则该步骤可以省略。
第三行和第四行命令,把本地目录下target文件夹里打好的jar文件添加到容器里,重命名为app.jar.
第五行:指定和外界交互的窗口8082
第六行:ENTRYPOINT,顾名思义,容器镜像运行的起始点。作用是设置环境变量。在复杂的使用场景中,我们可能需要使用各种参数启动JVM,这些参数通过ENV命令设置的环境变量传入Java命令。在这个简单的例子里可以省略环境变量的设置。
DockerFile文件文件存放的位置如图
4.将springboot项目打包成docker镜像
1).新建完gradle以后直接启动
2).控制台出现一下日志说明打成镜像成功
3).命令行查看镜像是否存在
出现了自己命名的镜像就说明成功了。
4).测试镜像是否可以正常启动(注意本地环境和生产环境的ip和数据库)
5).启动成功后需要将镜像保存到本地方便上传到数据库
前面是镜像名,后面是镜像打成tar包存放的位置及tar包名称
5.tar包加载到服务器中(服务器已安装了docker环境)
1)将tar传到服务器上任一位置
2)装载之前打包的tar文件,首先需要安装好你的docker,并运行。
执行命令装载到你的docker中
6.运行docker镜像
此命令是创建一个docker容器并启动,如果命令行关闭了项目也会停止,故启动完以后,可以查看一下docker容器
可以利用命令docker start 容器id
停止容器命令:docker stop 容器id
查看某容器的log:docker logs 容器id
附加
服务器安装docker环境
前提:服务器版本必须大于等于3.8
· linux内核版本依赖
· kernel version >= 3.8
· 可以使用如下命令查看
· uname -a | awk ‘{split($3, arr, “-”); print arr[1]}’
· 如果已安装过Docker, 需要移除老版本的Docker
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
· 添加Docker repository yum源
国内源, 速度更快, 推荐
sudo yum-config-manager
–add-repo
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
官方源, 服务器在国外, 安装速度慢
$ sudo yum-config-manager \
–add-repo \
· 开始安装Docker Engine
sudo yum makecache fast
sudo yum install docker-ce docker-ce-cli containerd.io
· 开启Docker
sudo systemctl enable docker
sudo systemctl start docker
· 验证是否安装成功
sudo docker run hello-world
· 如果出现"Hello from Docker.", 则代表运行成功
· 如果在每次运行docker命令是, 在前面不添加sudo, 可以执行如下命令:
sudo usermod -aG docker $USER
· 如果嫌上面安装步骤麻烦, 可以运行如下脚本来安装
· 不能在生产系统中使用
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
sudo systemctl enable docker
sudo systemctl start docker
sudo groupadd docker
sudo usermod -aG docker $USER
2.在Ubuntu上安装
· linux内核版本依赖
· kernel version >= 3.8
· 可以使用如下命令查看
· uname -a | awk ‘{split($3, arr, “-”); print arr[1]}’
· 操作系统依赖, 如下版本都可以
Disco 19.04
Cosmic 18.10
Bionic 18.04 (LTS)
Xenial 16.04 (LTS)
· 如果已安装过Docker, 需要移除老版本的Docker
sudo apt-get remove docker docker-engine docker.io containerd runc
· 使用Docker repository 来安装
更新apt包索引
sudo apt-get update
为支持https
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
添加Docker GPG秘钥
国内源
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
或者国外源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
添加安装源
推荐国内源
sudo add-apt-repository
“deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu
$(lsb_release -cs)
stable”
或者国外源
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
· 安装Docker
更新apt包索引
sudo apt-get update
安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
· 开启Docker
sudo systemctl enable docker
sudo systemctl start docker
· 验证是否安装成功
sudo docker run hello-world