Docker怎么快速部署SpringBoot项目
这篇文章主要介绍"Docker怎么快速部署SpringBoot项目",在日常操作中,相信很多人在Docker怎么快速部署SpringBoot项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Docker怎么快速部署SpringBoot项目"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1、安装 Docker
首先打开linux环境,输入以下命令进行安装:
安装yum install docker检查是否安装成功docker --version#启动systemctl start docker
如果下载很慢,可以切换到国内的阿里云镜像,进行下载:
换镜像源sudo vim /etc/docker/daemon.json内容如下:{ "registry-mirrors": ["https://m9r2r2uj.mirror.aliyuncs.com"]}保存退出,重启docker:systemctl restart docker
2、安装 Redis
首先在DockerHub搜索redis,点击进入详情页之后,拉到下面就可以看到how to use,如果需要选择特定的版本,有Supported tags给我们选择,然后如果拉取最新的版本的话,拉到下面就命令教程如下:
拉取redis的镜像docker pull redis查看本地redis镜像docker images运行redisdocker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes
docker run表示运行的意思
-name myredis 表示起个名字叫myredis
-p 6379:6379表示把服务器的6379映射到docker的6379端口,这样就可以通过服务器的端口访问docker的端口
-d 表示以后台服务形式运行redis redis redis-server --appendonly yes表示开启持久化缓存模式,可以存到硬盘
3、安装 MySQL
下拉MySQL镜像:docker pull mysql:5.7.27Docker运行MySQL:docker run --name mymysql -e MYSQL_ROOT_PASSWORD=admin -d -p 3306:3306 mysql:5.7.27
4、安装 RabbitMQ
一行命令搞定,注意RABBITMQ_DEFAULT_PASS=password是设置密码的意思,这行命令中已经偷偷做了下拉镜像等操作:
docker run -d --hostname my-rabbit --name myrabbit -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management
5、安装 ElasticSearch
下拉镜像操作省略:
启动:docker run -p 9200:9200 -p 9300:9300 -d --name es_643 elasticsearch:6.4.3进入镜像:docker exec -it es_643 /bin/bash安装中文分词插件:./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip退出并重启镜像exitdocker restart es_643
6、构建项目的 Docker 镜像
我们使用命令到github上拉取项目:
下拉项目(eblog):clone https://github.com/MarkerHub/eblog.git进入文件夹:cd eblog打包:mvn clean package -Dmaven.test.skip=true
将打好的jar包上传到 linux 服务器上!
接下来编写 DockerFile,它能将我们打包好的jar包代码构建成镜像:
FROM java:8EXPOSE 8080VOLUME /tmpENV TZ=Asia/ShanghaiRUN ln -sf /usr/share/zoneinfo/{TZ} /etc/localtime && echo "{TZ}" > /etc/timezoneADD eblog-0.0.1-SNAPSHOT.jar /app.jarRUN bash -c 'touch /app.jar'ENTRYPOINT ["java","-jar","/app.jar"]
FROM java:8 表示基于jdk8环境
EXPOSE 8080 表示对外暴露的端口是8080
VOLUME /tmp 表示挂载到/tmp目录
ADD eblog-0.0.1-SNAPSHOT.jar /app.jar 表示把jar包复制到镜像服务里面的根目录,并改名称app.jar
RUN bash -c 'touch /app.jar' 表示执行创建app.jar
ENTRYPOINT ["java","-jar","/app.jar"] 表示执行启动命令java -jar
接下来,我们安装Dockrfile,然后用DockerFile把eblog-0.0.1-SNAPSHOT.jar构建成镜像:
构建镜像docker build -t eblog .查看镜像docker images
这步骤完成之后,我们就可以在准备工作就已经完成啦,接下来,我们就直接启动我们的项目
7、运行项目镜像 完成项目启动
命令如下:
docker run -p 8080:8080 -p 9326:9326 --name eblog --link es_643:ees --link myrabbit:erabbit --link mymysql:emysql --link myredis:eredis -d eblog
-p 8080:8080 -p 9326:9326 :9326是因为即时聊天需要用到的ws端口 --link es:ees 表示关联容器,把容器es起别名为ees
查看eblog打印日志:
docker logs -f eblog
到此项目运行成功!
注意:使用 DockerCompose 更简单
到此,关于"Docker怎么快速部署SpringBoot项目"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!