idea使用docker插件部署項目到docker

idea使用docker插件部署項目到docker

docker所在的操作系統是CentOS7,ip是192.168.0.103

1. 安裝docker

1.1 檢查內核版本,必須是3.10及以上

uname -r

1.2 升級軟件包及內核

yum update

1.3 安裝docker

yum install docker

1.4 啓動docker

systemctl start docker

1.5 查看docker版本

docker -v

2. docker安裝java:8鏡像

docker pull java:8

3. docker開啓遠程訪問

3.1 修改docker.service,添加監聽端口 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

vim /lib/systemd/system/docker.service

在這裏插入圖片描述

3.2 重啓docker

#重新加載配置文件
systemctl daemon-reload
#重啓docker
systemctl restart docker

3.3 查看進程 netstat -tulp

在這裏插入圖片描述

3.4 curl看是否生效

curl http://127.0.0.1:2375/info
在這裏插入圖片描述

4. idea安裝docker插件

idea默認已安裝docker插件,只需要配置即可。

在File->Settings下配置如圖:

在這裏插入圖片描述
在這裏插入圖片描述

5. 搭建springboot測試項目

5.1 修改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>
                    <!--指定標籤 這裏指定的是鏡像的版本,我們默認版本是latest-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!-- 指定我們項目中Dockerfile文件的路徑-->
                    <dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory>

                    <!--指定遠程docker 地址-->
                    <dockerHost>http://192.168.0.103:2375</dockerHost>

                    <!-- 這裏是複製 jar 包到 docker 容器指定目錄配置 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <!--jar包所在的路徑  此處配置的即對應項目中target目錄-->
                            <directory>${project.build.directory}</directory>
                            <!-- 需要包含的 jar包 ,這裏對應的是 Dockerfile中添加的文件名 -->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

5.2 在resources下新建Dockerfile文件

FROM java:8

#掛載目錄
VOLUME /tmp

ADD *.jar app.jar

#暴露端口號
EXPOSE 8083

ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

5.3 項目結構

在這裏插入圖片描述

6. maven打包生成docker鏡像

6.1 maven進行package

在這裏插入圖片描述

生成的鏡像如下

在這裏插入圖片描述

6.2 在鏡像上右鍵選擇 Create Container,進行配置

在這裏插入圖片描述

6.3 啓動容器後效果

在這裏插入圖片描述

7. 訪問測試的項目

http://192.168.0.103:8083/hello

在這裏插入圖片描述

8. linux防火牆操作

8.1 查看防火牆

service firewalld status

8.2 關閉防火牆

service firewalld stop

9. docker操作補充

9.1 docker開機自啓動

systemctl enable docker

9.2 停止docker

systemctl stop docker

9.3 查看鏡像

查看所有本地鏡像

docker images

9.4 拉取鏡像

docker pull 鏡像名:tag

:tag是可選的,tag表示標籤,多爲軟件的版本,默認是latest

9.5 刪除鏡像

刪除指定的本地鏡像

docker rmi image-id

9.6 查看容器

  • 查看運行的容器
docker ps
  • 查看所有容器(包括運行的和未運行的)
docker ps -a

9.7 啓動容器

docker start container-name/container-id

9.8 停止容器

docker stop container-name/container-id

9.9 刪除容器

docker rm container-id

9.10 容器日誌

docker logs container-name/container-id

9.11 運行容器

docker run --name container-name -d image-name

–name:自定義容器名;-d:後臺運行;image-name:指定鏡像模板

端口映射:-p 8088:8080

主機端口(映射到)容器內部端的口

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章