使用docker部署springboot項目(mac版本)

一.下載docker(mac版本)

https://hub.docker.com/editions/community/docker-ce-desktop-mac

image.png

然后像其他第三方軟件一樣進行安裝,mac下基本不會遇到什么問題。

二.用idea建立一個springboot的工程(叫做dockerdemo)

1.controller層代碼

@RestController
public class TestController {
    @GetMapping
    public String hello(){
        return "hello,docker";
    }
}

2.pom.xml加入代碼

 <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.2.0</version>
                <configuration>
                    <!-- 這里是最終生成的docker鏡像名稱 -->
                    <imageName>${project.artifactId}</imageName>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <!-- 基礎鏡像,運行一個springboot應用只需要基礎的java環(huán)境就行 -->
                    <baseImage>java:8</baseImage>
                    <!-- docker啟動的時候執(zhí)行的命令 -->
                    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

3.在src/main下新建docker目錄,在該目錄下建立Dockerfile文件,添加代碼如下:

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

其中dockerdemo-0.0.1-SNAPSHOT.jar是該springboot項目生成的jar包名字(可自行修改)

4.項目目錄結構

image.png

三.創(chuàng)建并運行鏡像

1.使用maven構建鏡像(如果沒有安裝maven請自行安裝)

先使用cd命令定位到自己的springboot項目目錄下,然后使用以下命令構建鏡像文件

mvn package docker:build

2.查看構建出來的鏡像

docker images
image.png

3.運行

docker run -d -p 8080:8080 dockerdemo

測試如下,成功?。?!


image.png

四.上傳鏡像到hub上

1.創(chuàng)建repository

在dockerhub上先要有一個賬號,登錄后最右邊點那個Create Repository,
然后自己隨便取一個名字,然后點擊創(chuàng)建,就可以了,我取得是springboot

2.上傳容器

①使用命令查看正在運行的容器,并獲取到CONTAINER ID

docker ps
image.png

②然后commit一個容器 命令:

docker commit 4e4b0910c308 ns3652/springboot

其中4e4b0910c308是CONTAINER ID,ns3652是我的hub賬號,springboot是剛剛我在hub上建立的名字。
③登錄自己的hub帳號 命令:

 docker login

④將剛才的鏡像push 到你的hub 那里去,命令如下:

docker push ns3652/springboot:latest

其中ns3652是我的賬號,springboot是在hub建立的repository的名字,latest就是創(chuàng)建鏡像時的tag

⑤可以使用命令驗證一下

docker inspect ns3652/springboot

其中ns3652是我的賬號,springboot是在hub建立的repository的名字
⑥去hub上檢查一下是否成功


image.png

上傳已經成功!?。?/p>

五.可以使用命令docker pull來拉取hub上的鏡像到本地

docker pull ns3652/springboot:latest
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容