SpringBoot整合Docker(二)打包项目至Docker并启动容器

  • 1.安装docker插件
    在这里插入图片描述
    2.添加pom
<properties>
        <java.version>1.8</java.version>
        <docker.image.prefix>bozai</docker.image.prefix>
    </properties>
 
 
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory></dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

3.打包项目 jar
在这里插入图片描述
4.创建Dockerfile
注:文件名必须是这个,没有后缀
在这里插入图片描述

FROM java:8
#作者
MAINTAINER xu
#声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp
#复制上下文目录下的target/demo-1.0.0.jar 到容器里
COPY target/demo-0.0.1.jar demo-0.0.1.jar

#bash方式执行,使demo-0.0.1jar可访问
#RUN新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。
RUN bash -c "touch /demo-0.0.1.jar"

#声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
EXPOSE 8899

#指定容器启动程序及参数   <ENTRYPOINT> "<CMD>"
ENTRYPOINT ["java","-jar","demo-0.0.1.jar"]

创建的Dockerfile文件和jar包放在同一目录
在这里插入图片描述
5.配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:如果配置地址错误,可能是没开启远程连接

[root@izwz9eftauv7x69f5jvi96z docker]# vim /lib/systemd/system/docker.service
#修改ExecStart这行
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock
#重新加载配置文件
[root@izwz9eftauv7x69f5jvi96z docker]# systemctl daemon-reload    
#重启服务
[root@izwz9eftauv7x69f5jvi96z docker]# systemctl restart docker.service 
#查看端口是否开启
[root@izwz9eftauv7x69f5jvi96z docker]# netstat -nlpt
#直接curl看是否生效
[root@izwz9eftauv7x69f5jvi96z docker]# curl http://127.0.0.1:2375/info

6.生成镜像
在这里插入图片描述
在这里插入图片描述
7.启动docker

docker run -p 8899:8899 deom4.0

8.常用Docker命令:

1、删除容器

1)首先需要停止所有的容器

docker stop $(docker ps -a -q)

2)删除所有的容器(只删除单个时把后面的变量改为image id即可)

docker rm $(docker ps -a -q)

2、删除镜像

1)查看host中的镜像

docker images

2)删除指定id的镜像

docker rmi <image id>

想要删除untagged images,也就是那些id为的image的话可以用

docker rmi $(docker images | grep "^" | awk "{print $3}")

3)删除全部的images

docker rmi $(docker images -q)

3、当要删除的iamges和其他的镜像有关联而无法删除时


可通过 -f 参数强制删除

docker rmi -f $(docker images -q)

重启:
systemctl restart docker


docker ps :查看所有运行的容器

docker ps -a :查看所有容器包括死掉的

docker logs [容器id]  :查看启动失败的原因

docker start [容器名称] :启动容器

docker run - d --name " [容器名称]" -p [宿主机暴露的端口]:[程序内部暴露的端口]  [镜像id]

docker inspect 容器名称  :检查容器内部情况
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XC_Aaron

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值