idea中构建芋道Java项目的docker镜像上传到服务器运行

avatar
作者
筋斗云
阅读量:0

安装docker

我个人是安装的面板,安装面板的时候就安装上了docker,并且面板中也自带docker镜像源,面板地址:1Panel - 现代化、开源的 Linux 服务器运维管理面板

在服务器中输入这个命令,直接安装,无脑下一步就行

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

 

安装redis

 

如果不确定要安装那个版本可以直接输入docker search 镜像名搜索,比如我搜索redis:docker search redis

 

d30d77f183e1fd0f68c60173ae2b5869.png

 

可以看到第一个搜索收藏最多,那么直接docker pull redis下载镜像就可以了。

等待镜像拉取完之后直接docker run --restart=always --privileged=true -p 6379:6379 --name redis -d redis就行,因为redis不需要持久化就不做挂载了。

 

1e5649d3dd92891c3494515dd2727c56.png

 

安装完成之后用docker ps命令查询一下有哪些容器正在运行,如果有redis就说明没问题

 

8d54779ccaf6c48db7918032bd3750ce.png

 

redis容器正在运行,我们远程连接一下看看有没有问题

 

3819a03a586ddbb493deb2d6127485ef.png

 

 

卸载redis

先查询docker运行的容器docker ps

 

4d94546c12083beed3397b0188dd3016.png

 

这里获取到的容器的id,下面运行docker rm -f 容器id就能删除容器了,这里是docker rm -f c39e8d7b6759

 

bdd286bbb4600f107dc2b1515c99953c.png

 

可以看到已经删除容器了,接下来继续删除镜像docker images查看有哪些镜像,然后执行docker rmi -f 镜像id来删除镜像

 

ff5818e7ddedd67dd2387f1392c52ddf.png

可以看到没有redis镜像了,到这里就卸载完成了

 

 

安装MySQL

 

安装MySQL的步骤和安装redis的步骤大体是一样的,有一点区别就是redis不需要持久化而MySQL需要持久化,这里在启动容器的时候会体现出来。因为我MySQL本来就有一个数据库所以我直接卸载然后安装,看看重新安装后数据还在不在,卸载步骤在文章后面

 

42754d5a6442fbe1f46cc986b1eee685.png

 

这里咱们省略一些步骤,因为我很明确我要安装的版本是8.2.0,所以我就不需要执行docker search mysql命令来搜索镜像和docker pull mysql命令来拉取镜像,直接输入启动容器的命令,他会自动拉取镜像

docker run -p 3306:3306 --restart=always --name mysql -v /docker/mysql/mysql-files:/var/lib/mysql-files -v /docker/mysql/log:/var/log/mysql -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/conf:/etc/mysql/mysql.conf.d -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -d mysql:8.2.0

 

f12214edb458d931b8c324c4727599e3.png

可以看到我并没有拉取镜像他运行容器的时候自动帮我拉取镜像了

 

远程访问一下 MySQL看看是不是持久化

 

ce4f9ffc5ae15f2a3627797745f0b1eb.png

可以看到卸载后重新安装数据还在

卸载MySQL

 

所有的卸载都是一样的,上面提到了MySQL持久化,这里我们就安装MySQL后添加一些数据再吧MySQL给卸载了然后再安装MySQL数据,看看数据还在不在。卸载过程还是那几步。

查看运行的容器:docker ps,删除容器:docker rm -f 容器id,查看所有容器检查是否删除:docker ps -a

 

a3893652ecaf8d94c683701c28fa1345.png

 

查看镜像:docker images,删除镜像:docker rmi -f 镜像id,检查镜像是否被删除:docker images

 

39610572d65ed4b051505f524965b292.png

 

构建Java项目的镜像

 

先说明我本来是看芋道的文档来的,后来感觉这样更简单一点,因为我也就会那几个docker命令。

这里我是在csdn上面找了一篇文档照着改的:菜鸟的IDEA使用Docker插件_idea可以通过可视化的方式拉取镜像,不用自己去敲命令-CSDN博客

我结合芋道和这篇文档自己改着玩的,看到不足请指出

 

首先先连接docker,这里我选择的是ssh连接,感觉开放端口太危险了

 

89ac8ad9a1f150d0d9ae636438441a5a.png

 

然后会在左边看到docker,如果没看到docker单独列出来那就在service哪里

 

0550d2a0661ca22e260c526634ee2f19.png

 

然后看芋道的docker部署文档,要在服务器中创建文件夹上传jar包,我忽略这一步了,直接去idea中打的jar包,然后执行的dockerfile里面的命令

 

31d3b1ca89953590f2d4d228f86af6fb.png

 

打包之前先点击跳过测试,不然会报错

 

5f9d1af1649392f5461f14507c2a9026.png

 

这里有一个坑,就是MySQL和redis的ip地址不要写127.0.0.1,要写公网ip地址

 

a0f8b41a04ea6f80a7f3180ad8531e2d.png

 

打完jar之后我先吧之前的容器和镜像删除一下,重新构建镜像。构建镜像之前注意修改配置

 

82e7c1c020158151766af75ad146a91d.png

 

3dd5abcecf4ec306863965b7f3b0c8c4.png

 

然后我们构建镜像,他会提示输入密码,正常输入就行

 

47d11f4dd160b1880e9b81e889022b13.png

 

e3b09971cb60233e951b8f72f538cfa6.png

 

输入docker run --name yudao -p 48088:48088 -d 镜像id运行容器,绑定端口

 

76fa45e955266aa114f5c47e78baa1c2.png

 

输入docker logs yudao查看日志,检查是否启动成功

 

2626f97acff654998e94d3dfb77a0d33.png

 

在浏览器访问端口

 

709a1b28b9669cb7e82d95406d4fd26d.png

访问成功

 

 

想比较插件或者面板我更喜欢命令行,因为我刚学docker没几天都是自己瞎玩的,遇到错误请指出,遇到相关的文档欢迎分享

 

 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!