项目如何进行docker部署

如何将我们的项目在进行打包的时候,自动的推送到docker容器之中,进行一个自动部署,减少部署的成本。

1、依赖的导入

  1. 第一步:导入需要的插件
<build>
        <plugins>
            
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>
            
            <plugin>
                
                <groupId>com.spotifygroupId>
                <artifactId>docker-maven-pluginartifactId>
                <version>1.0.0version>
                
                <executions>
                    <execution>
                        
                        <id>build-imageid>
                        <phase>packagephase>
                        <goals>
                            <goal>buildgoal>
                        goals>
                    execution>
                executions>
                <configuration>
                    
                    <forceTags>trueforceTags>
                    
                    <imageName>${project.artifactId}:${project.version}imageName>
                    
                    <dockerDirectory>src/main/resourcesdockerDirectory>
                    
                    <dockerHost>http://192.168.200.137:2375dockerHost>
                    <resources>
                        
                        <resource>
                            
                            <targetPath>/targetPath>
                            
                            <directory>${project.build.directory}directory>
                            
                            <include>${project.build.finalName}.jarinclude>
                        resource>
                    resources>
                configuration>
                
                
                <dependencies>
                    <dependency>
                        <groupId>javax.activationgroupId>
                        <artifactId>activationartifactId>
                        <version>1.1.1version>
                    dependency>
                dependencies>

            plugin>
        plugins>
    build>

2、docker容器端口的暴露

  1. 端口暴露
	// 1、去编辑docker的配置文件
	vim /usr/lib/systemd/system/docker.service
	// 2、添加如下配置
	ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
	// 3、重新加载docker配置文件,执行以下的配置
	// 3.1、加载docker守护线程 
	systemctl daemon-reload 
	// 3.2、重庆docker
	systemctl restart docker 
	// 3.3、关闭防火墙,或打开端口
	systemctl stop firewalld.service(关闭防火墙)

项目如何进行docker部署_第1张图片
在这里插入图片描述
项目如何进行docker部署_第2张图片

  1. 下载基础镜像
	// 下载基础镜像,这里下载的是jdk11版本
	docker pull openjdk:11

在这里插入图片描述
项目如何进行docker部署_第3张图片

3、DockerFile文件的编写

#指定基础镜像,必须为第一个命令这里使用openjdk的基础镜像
FROM openjdk:11
#MAINTAINER: 维护者信息,这里是维护者是XMLee
MAINTAINER  XMLee
#VOLUME:用于指定持久化目录,挂载镜像
VOLUME /XMLee
#将本地文件添加到容器中,这里是从target下复制itheima-service-elasticsearch-1.0.0.RELEASE.jar到根目录
ADD xmlee-service-elasticsearch-1.0.0.RELEASE.jar  app.jar
#RUN:构建镜像时执行的命令,这里是设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
EXPOSE 8888
#ENV:设置环境变量
ENV JAVA_OPTS=""
#egd表示收集守护进程;=后面为快速生成随机数
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=pro","-jar","/app.jar"]

4、测试

项目如何进行docker部署_第4张图片
项目如何进行docker部署_第5张图片

启动
docker run --name service-elasticsearch --net xmleeNetwork --ip 172.188.0.33 --privileged=true -p 8888:8888 --restart=always -d xfzcode-service-elasticsearch:1.0.0-SNAPSHOT

你可能感兴趣的:(服务器的环境安装,docker,容器,运维)