使用Docker部署java web项目

时间:2024-02-25 10:19:10

在国内可能会有源下载失败问题,docker安装失败,

这里提供docker离线安装包如有需要可以进行下载

docker离线安装包下载

##本文环境使用centos 7 进行部署。

#1安装docker环境

sudo yum remove docker \

                  docker-common \

                  docker-selinux \

                  docker-engine

sudo yum install -y yum-utils \

  device-mapper-persistent-data \

  lvm2

##下载docker的repo包源为国外源。

#国内源为

sudo yum-config-manager \

--add-repo \

https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

##国外源

sudo yum-config-manager \

    --add-repo \

    https://download.docker.com/linux/centos/docker-ce.repo

sudo yum-config-manager --enable docker-ce-edge

sudo yum-config-manager --enable docker-ce-test

sudo yum install docker-ce

sudo systemctl start docker

##使用docker version查看docker是否安装成功,

systemctl status docker 查看docker服务是否启动成功。


#2.安装docker-compose

yum -y install epel-release

yum install python-pip

pip install --upgrade pip

##若install 报错,多执行几遍,可能因为网络原因。

##或者执行 pip install docker-compose --ignore-installed requests 命令进行下载

pip install docker-compose

##使用docker-compose version 进行查看是否安装成功


#3.在windows下,新建项目名称的文件夹

##创建.env,Dockerfile.apache,Dockerfile.mysql,utf8.conf,docker-compose.yml文件

##将maven的tar压缩包放入,sql文件,项目war包放入,主要sql文件导出后需添加创建数据库的命令,

 

 
Dockerfile.apache文件

 

 
Dockerfile.mysql文件

 

 
.env文件

 

 
docker-compose.yml文件

##完成后打包放到docker服务器下

##解压压缩包,进入到文件夹内

##注意,因为国内网速原因,需要添加加速器,否则下载镜像速度很慢,或者会失败

##执行下面命令,进行添加加速器

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://53970d32.m.daocloud.io

#执行完成后,需要重启docker服务

sudo systemctl restart docker

##执行命令,进行pull镜像文件

docker-compose up -d

##完成后ip:8080/项目名 进行访问

 


#4.遇到问题及解决方案

1、docker环境部署失败,没有外网,可进行更换阿里源或清华源进行安装docker

2、mysql启动失败。可查看日志

##sudo docker logs -f -t --tail 10 容器名称   进行查看错误原因进行解决

3、tomcat连接mysql报超时错误

 

 
错误日志

#解决方法,进入到mysql容器内

sudo docker exec -it mysql容器id  /bin/bash

##下载vim编辑器

apt-get update

apt-get install vim

##编辑 vim /etc/mysql/my.conf 添加配置

[mysqld]

wait_timeout=86400

interactive_timout=7200

##保存退出

重新启动mysql容器。

 

 


若有错误之处,请及时联系本人进行修改解决。

本文经过作者长时总结以及学习,创作不易,转载请著名出处

再此感谢所有帮助过我的人。