docker部署springboot项目

如果还没安装docker,可以看我另一篇文章《腾讯云服务器Linux环境配置docker并且使用mysql容器

1、创建一个springboot的maven项目(此过程不难,照着官网操作就可以了)

2、在pom.xml添加依赖

<build>
		<finalName>biweb</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
					<!-- 解决maven编译时用到com.sun.*包下的东西 -->
                    <!---->
					<compilerArguments>
						<verbose />
						<!-- 软件包javax.crypto 不存在解决办法 加上${java.home}/lib/jce.jar (window下是分号 
							linux 是冒号) -->
						<bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
					</compilerArguments>

				</configuration>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			
			<!-- Docker maven plugin -->
	        <plugin>
	            <groupId>com.spotify</groupId>
	            <artifactId>docker-maven-plugin</artifactId>
	            <version>1.0.0</version>
	            <configuration>
	                <imageName>springboot/${project.artifactId}</imageName>
	                <dockerDirectory>src/main/docker</dockerDirectory>
	                <resources>
	                    <resource>
	                        <targetPath>/</targetPath>
	                        <directory>${project.build.directory}</directory>
	                        <include>${project.build.finalName}.jar</include>
	                    </resource>
	                </resources>
	            </configuration>
	        </plugin>
	        <!-- Docker maven plugin -->
		</plugins>
	</build>

3、运行maven.install生成jar包

4、进入Linux系统创建文件夹,同时创建Dockerfile文件

①进入root创建文件夹docker

②执行命令:mkdir docker

③执行命令:vi Dockerfile

④执行命令:i  

⑤输入内容:

FROM java:8
VOLUME /tmp
ADD biweb.jar app.jar 
EXPOSE 8001
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

字段说明:

FROM:表示基础镜像,即运行环境
VOLUME:一个特别指定的目录,用于存储数据,该命令的作用是在/var/lib/docker	创建一个名为tmp的目录,在开启redis服务时,需要特别指定redis的数据	存储在哪个文件夹,此时这个命令就十分有用
ADD:拷贝文件并且重命名
EXPOSE:并不是真正的发布端口,这个只是容器部署人员与建立image的人员之间的交流,即建立image的人员告诉容器布署人员容器应该映射哪个端口给外界
ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar 	xxxx.jar,为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT

⑥执行命令:docker build -t biweb .

注意:此命令后面是有英文句号“.”

说明:-t代表要构建的镜像的tag,“.”代表当前目录,也就是Dockerfile所在的目录

出现以下内容则表示执行成功

说明:运行后docker会自动下载Java8镜像。

如果已经存在Java镜像,则是如下显示如下内容

此时输入命令docker images可以看到biweb和Java镜像

5、运行项目的镜像

将生成好的jar包上传到docker文件夹

输入运行命令:docker run -p 8001:8001 --name biweb -d biweb

注意:这里容器端口号应与Dockerfile文件的EXPOSE端口号一致

输入命令docker ps查看容器情况

此时已经将项目运行起来,在浏览器输入网址即可进入系统

6、重新安装镜像

①命令:docker stop contrainer_id,停止容器运行

②命令:docker rm contrainer_id,删除容器

③命令:docker rmi image_id,删除镜像

然后从第4步的第⑥命令开始执行即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值