Dockerfile使用教程

Dockerfile使用教程,第1张

Dockerfile使用教程  第一、创建一个spring boot项目

第二、创建:Dockerfile文件(在项目根目录下)

 第三、复制粘贴
#FROM java:8 设置基础镜像
FROM openjdk:8-jdk-alpine

#指定镜像创建者信息
MAINTAINER wjdsg

#切换工作目录
WORKDIR /

#创建执行目录
RUN mkdir -p /servers

# 切换指定命令
RUN cd /servers

# 传递参数,微服务打包的jar包名字
ARG JAR_FILE

# 将指定的JAR_FILE拷贝到 /servers/app.jar
COPY ${JAR_FILE}  /servers/app.jar

# 暴露指定的端口
EXPOSE 8081

# 执行发布命令("--profile=prod":使用生产环境)
CMD ["nohup","java","-jar","/servers/app.jar","--profile=prod","--server.port=8081","&"]
第四、配置:dockerfile-maven插件


	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		2.4.8
		 
	
	com.pug.ksd
	spring-docker-demo
	0.0.1-SNAPSHOT
	spring-docker-demo
	Demo project for Spring Boot
	
		1.8
		example
	
	
		
			org.springframework.boot
			spring-boot-starter-web
		

		
			org.projectlombok
			lombok
		

		
			org.springframework.boot
			spring-boot-configuration-processor
		

		
			org.springframework.boot
			spring-boot-starter-actuator
		

		
			org.springframework.boot
			spring-boot-starter-test
			test
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
				
					true
				
			

			
				com.spotify
				dockerfile-maven-plugin
				1.4.13

				
					
						default
						
							build
							push
						
					
				
				
					
					${project.artifactId}
					
					${project.version}
					
					
						
						target/${project.build.finalName}.jar
					
				
			
		
	

注意Dockerfile必须和target平齐,否则找不到jar。

第五、镜像服务器的配置 1、打开docker文件
# 编辑docker
vim /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2280 -H unix:///var/run/docker.sock

保存退出:ESC===>:wq

重启:

systemctl daemon-reload && systemctl restart docker
配置环境变量
DOCKER_HOST=tcp://47.107.225.126:2280

 注意:如果是云服务器,记得去安全组开端口,如果是虚拟机,执行开端口命令
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public --add-port=2280/tcp --permanent
重启虚拟机才能生效:
firewall-cmd --reload

详情可以看Linux *** 作手册_anxiaoxiao61的博客-CSDN博客

执行推送命令
mvn clean package -Dmaven.test.skip=true dockerfile:build

如果报这个错误:

 换成这个指令:

mvn clean package '-Dmaven.test.skip=true' dockerfile:build

有问题留言:一起讨论一下

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5704458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存