参考:
(1)提升10倍生产力:IDEA远程一键部署SpringBoot到Docker?
https://mp.weixin.qq.com/s/Fgao06NuUrCyTl5V3SYKtQ
(2)IDEA中通过docker插件部署springboot项目?
https://www.jianshu.com/p/0dcc2e43963b
(3)nohup ./startWebLogic.sh >out.log 2>&1 & 解析?
https://blog.csdn.net/tswisdom/article/details/8548710?from=singlemessage
(4)docker exec 后面跟bash 是起什么作用?
https://www.imooc.com/qadetail/223773?t=352001
(5)Docker查看log命令与Linux查看log?
https://blog.csdn.net/sinat_32023305/article/details/94394889
(6)docker国内镜像拉取和镜像加速registry-mirrors配置修改?
https://blog.csdn.net/u014231523/article/details/61197945
(7)Docker(七)----搭建Portainer可视化界面
https://blog.csdn.net/u011781521/article/details/80469804
(8)dockerfile运行mysql并初始化数据
https://www.cnblogs.com/UniqueColor/p/11150314.html
(9)如何查看centos系统cpu/内存使用情况
https://blog.csdn.net/qq_31024823/article/details/84821064
我:
预前准备:
yum install docker //安装docker
service docker start //启动docker
chkconfig docker on //开机启动
docker pull hub.c.163.com/library/mysql:5.7.18 //拉取mysql镜像
// 生成并启动mysql容器
docker run -d --restart=always --name=mysql -v /data/officecloud/db/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -p 9306:3306 hub.c.163.com/library/mysql:5.7.18 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --lower_case_table_names=1
// 进入mysql容器的终端后,可以输入mysql命令
docker exec -i -t mysql /bin/bash
步骤1:配置docker远程连接端口
vi /usr/lib/systemd/system/docker.service
找到 ExecStart,在第一行后面添加
-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
重启docker网络
systemctl daemon-reload
重启docker服务
systemctl start docker
或者
service docker restart
测试
curl http://localhost:2375/verion
步骤2:在idea的settings->plugins中安装docker integration插件,重启idea,打开settings->docker->点击+
,添加一个连接,填写远程docker地址,然后在底部工具栏选择docker
的窗口,点击运行,可以看到docker容器和镜像
步骤3:
在你的springboot项目的pom.xml
文件中加入以下代码:
<!--复制jar包到指定目录-->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>gen-webadmin</id>
<phase>package</phase>
<configuration>
<tasks>
<copy todir="docker" file="target/${project.artifactId}-${project.version}.${project.packaging}" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
在项目根目录/下建立一个docker
文件夹,在docker
文件夹下新建一个名为"Dockerfile"的
文件,写入一下内容:
#添加依赖的镜像
FROM java:8
#将容器端口即项目端口暴露出去
EXPOSE 1111
#将target目录下的jar包拷贝到 my-eureka.jar
ADD *.jar /my-eureka.jar
#启动my-eureka.jar,最大堆大小,最小堆大小, 年轻代大小,每个线程的堆栈大小,年轻代使用并发垃圾回收器,并发垃圾回收器的线程数,年老代使用并发垃圾回收器,每次年轻代垃圾回收的最长时间,自动选择年轻代区大小和相应的Survivor区比例,加快随机数产生过程
ENTRYPOINT ["nohup","java","-Xmx128m", "-Xms128m", "-Xmn64m", "-Xss256k", "-XX:+UseParallelGC", "-XX:ParallelGCThreads=20", "-XX:+UseParallelOldGC", "-XX:MaxGCPauseMillis=100", "-XX:+UseAdaptiveSizePolicy","-Djava.security.egd=file:/dev/./urandom","-jar","/my-eureka.jar", "--spring.profiles.active=dev",">/home/my-eureka.out 2>&1 &"]
然后配置docker
启动项:
测试 http://192.168.23.128:9090
步骤4:去 daocloud镜像市场 查询 docker可视化工具portainer到拉取地址
docker pull daocloud.io/saint/portainer:master-eb08249
docker run -d --name prtainer -p 8884:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock 镜像id
后记:
(1)最好把 docker连接端口号2375 改为 复杂的数字,不然会有黑客侵入。