乘风原创程序

  • Docker部署项目完全使用指南(小结)
  • 2022/3/30 17:41:49
  • 环境准备

    docker安装启动

    检查系统内核是否满足3.10及以上版本:

    uname -r

    升级内核软件包:

    yum update

    使用yum安装docker:

    yum install docker

    启动docker:

    systemctl start docker

    查看docker版本:

    docker -v

    java环境安装

    使用docker安装java 8的环境:

    docker pull java:8

    docker远程访问配置

    打开docker.service文件:

    vim /lib/systemd/system/docker.service

    添加监听端口:

    execstart=/usr/bin/dockerd-current -h tcp://0.0.0.0:2375 -h unix:///var/run/docker.sock

    docker重启

    重新加载docker的配置文件:

    systemctl daemon-reload

    重启docker:

    systemctl restart docker

    查看是否存在dockerd-current进程:

    netstat -tulp

    使用curl查看docker的配置是否生效:

    curl http://127.0.0.1:2375/info

    idea配置docker

    在路径file->settings下打开docker:

    在这里插入图片描述

    配置docker的路径地址:

    在这里插入图片描述

    项目配置

    配置pom.xml文件

    在项目的pom.xml文件中添加如下配置:

    <!-- docker-maven-plugin插件 -->
    <plugin>
    	<groupid>com.spotify</groupid>
    	<artifactid>docker-maven-plugin</artifactid>
    	<version>1.0.0</version>
    
    	<!-- 绑定插件在指定的phase上执行 -->
    	<executions>
    		<execution>
    			<id>build-image</id>
    			<!-- 绑定插件在package这个phase上.这样只要执行mvn package,就会自动执行mvn docker:build -->
    			<phase>package</phase>
    			<goals>
    				<goal>build</goal>
    			</goals>
    		</execution>
    	</executions>
    
    	<configuration>
    		<!-- 指定生成的镜像名称.可以使用项目的名称作为镜像名 -->
    		<imagename>${project.artifactid}</imagename>
    		<!-- 指定标签.这里是可以是镜像的版本 -->
    		<imagetags>
    			<imagetag>latest</imagetag>
    		</imagetags>
    		<!-- 指定项目中dockerfile文件的路径 -->
    		<dockerdirectory>${project.basedir}/src/main/resources</dockerdirectory>
    
    		<!-- 指定远程docker路径地址 -->
    		<dockerhost>http://192.168.6.66:2375</dockerhost>
    
    		<!-- 配置复制jar包到docker容器中的指定目录 -->
    		<resources>
    			<resource>
    				<targetpath>/</targetpath>
    				<!-- 配置jar包所在路径. 这里的路径就是对应项目中的target目录的路径 -->
    				<directory>${project.build.directory}</directory>
    				<!-- 配置需要包含的jar包. 这里对应的就是dockerfile中添加的文件名 -->
    				<include>${project.build.finalname}.jar</include>
    			</resources>
    		</resources>
    	</configuration>
    </plugin>
    

    配置dockerfile文件

    from java:8
    
    # 挂载目录
    volume /tmp
    
    add *.jar app.jar
    
    # 暴露端口号
    expose 8083
    
    entrypoint ["java", "-djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]
    

    docker配置

    maven打包生成docker镜像

    依次使用maven工具栏中的cleanpackage命令对项目进行打包操作,生成docker镜像

    在这里插入图片描述

    在生成的docker镜像右击选择create container进行docker镜像配置,配置完成后点击run启动docker容器:

    在这里插入图片描述

    docker容器启动完成后效果图如下:

    在这里插入图片描述

    根据端口名8083和项目名称oxford访问项目:

    http://127.0.0.1:8083/oxford

    总结

    linux操作命令

    查看linux防火墙状态:

    service firewalld status

    关闭linux防火墙:

    service firewalld stop

    docker操作命令

    配置docker开机自启动:

    systemctl enable docker

    停止docker服务:

    systemctl stop docker

    启动docker服务:

    systemctl start docker

    查看所有镜像:

    docker images

    拉取指定名称的镜像:

    # :tag是可选值.表示标签.通常为镜像软件的版本,默认为latest
    docker pull 镜像名:tag
    

    删除指定的镜像:

    docker rmi image-id

    查看运行中的docker容器:

    docker ps

    查看所有docker容器,包括运行中的docker容器和未运行的docker容器:

    docker ps -a

    启动容器:

    docker start 容器名称/容器id

    停止容器:

    docker stop 容器名称/容器id

    删除容器:

    docker rm 容器id

    查看容器日志:

    docker logs 容器名称/容器id

    在指定的docker容器中运行指定的镜像:

    # --name表示自定义容器名称.-d表示后台运行
    docker run --name 自定义容器名称 -d 镜像名称
    
    # -p表示主机端口映射到的容器内部端口
    docker run --name 自定义容器名称 -d 镜像名称 -p 8088:8080
    

    到此这篇关于docker部署项目完全使用指南(小结)的文章就介绍到这了,更多相关docker部署项目内容请搜索本教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持本教程网!