docker 中部署一个springBoot项目

docker 中部署一个springBoot项目


  1. Docker简介
    Docker是一个开源的应用容器引擎。
    将软件编译成一个镜像;然后在镜像里各种软件做好配置,将镜像发布出去,其他的使用这就可以直接使用这个镜像。运行中的这个镜像叫做容器,容器启动速度快,类似ghost操作系统,安装好了什么都有了。

  1. Docker安装

1.安装Linux虚拟机
(1)VMWare安装
(2)导入虚拟机文件centos7
(3)双击启动Linux虚拟机,使用root/123456登陆
(4)使用客户端(即xshell软件)连接Linux服务器进行命令操作
(5)查看Linux的ip地址 ip addr
(6)使用客户端连接

2.在Linux虚拟机上安装docker
(1)查看centos版本:Docker要求CentOS系统的内核版本高于3.10

(2)升级软件包及内核(选做) yum update
(3)安装docker yum install docker
(4)输入y 确认安装

(5)启动docker
start docker

   docker -v

(6)将docker服务设为开机启动 systemctl enable docker

(7)再次开启docker systemctl start docker

3.Docker的核心概念
docker主机(HOST): 安装了Docker程序的机器(Docker直接安装在操作系统上的)
docker客户端(Client): 操作docker主机
docker仓库(Registry):用来保存打包好的软件镜像
docker镜像(Image): 软件打好包的镜像,放到docker的仓库中
docker容器(Container): 镜像启动后的实例(5个容器启动5次镜像)
docker的步骤:
​ 1、安装Docker
​ 2、去Docker仓库找到这个软件对应的镜像;
​ 3、使用Docker运行的这个镜像,镜像就会生成一个容器
​ 4、对容器的启动停止,就是对软件的启动和停止


3.docker 中部署一个springBoot项目
3.1介绍 springBoot项目
docker 中部署一个springBoot项目_第1张图片
3.2pom.xml文件
需要添加的内容如下:

    <properties>
        <java.version>1.8java.version>
        
    
        <docker.image.prefix>springbootdocker.image.prefix>
    
    properties>




    <plugin>
        <groupId>com.spotifygroupId>
        <artifactId>docker-maven-pluginartifactId>
        
        <version>1.0.0version>
        <configuration>
            <imageName>${docker.image.prefix}/${project.artifactId}
    	imageName>
            <dockerDirectory>src/main/dockerdockerDirectory>
            <resources>
                <resource>
                    <targetPath>/targetPath>
                    <directory>${project.build.directory}directory>
                    <include>${project.build.finalName}.jarinclude>
                resource>
            resources>
        configuration>
    plugin>

3.3主程序

    @SpringBootApplication
    @RestController
    public class DockerApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DockerApplication.class, args);
        }
    
        @GetMapping("/")
        public String index() {
            return "你好,docker";
        }
    }

3.4打好jar包,在target目录下可以找到jar包,名为demo.jar
3.5创建文件 src/main/docker/Dockerfile

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

简单解释下dockerfile里面的内容, from 是指以一个基础镜像为基础,这里以一个基础镜像java8为基础。volume是工作目录。add 是指把这个docker-0.0.1-SNAPSHOT.jar添加到容器里面 第一个是宿主机里面准备好的jar,第二个demo.jar是cp到docker里面的jar包。enterpoint是指打好了镜像之后,运行这个jar包启动项目。

3.6在linux目录下新建文件夹,存放这些文件,新建的文件夹叫做docker

mkdir docker

进入文件夹 cd docker
把demo.jar和dockerfile拷贝到docker里面去(拷贝方法可以用xshell里的xftp)

3.7在这个目录下建镜像
在这个目录下执行命令,我起名字叫做mydocker,这个可以随便起名字。这个是构建镜像的命令,注意后面有个点,代表在此目录下。

docker build -t mydocker .

3.8运行docker

== docker run -d -p 8080:8080 mydocker==

注意端口号顺序,第一个8080是指在doucker暴露在外部的端口,8080是指docker里面的项目的端口
3.9访问项目
访问 192.168.211.128:8080/就可以了。
192.168.211.128是我的虚拟机的ip,8080是端口号

docker 中部署一个springBoot项目_第2张图片

// An highlighted block
var foo = 'bar';

你可能感兴趣的:(springboot)