# 1. 環境準備
**1. 確認安裝了docker插件**

**2. 配置docker服務可以被外部連接**
```
vim /usr/lib/systemd/system/docker.service
```
添加`-H tcp://0.0.0.0:2375`配置2375端口可連接

> 注意:2375端口的防火墻配置
**3. 配置idea連接docker**
`在File–> Settings–>Build,Execution,Deployment中找到Docker`

4. 創建springboot測試項目,并修改pom文件添加docker相關插件

# 2. 利用maven打包鏡像
~~~
<!--使用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.56.10:2375</dockerHost>
<!-- 這里是復制 jar 包到 docker 容器指定目錄配置 -->
<resources>
<resource>
<targetPath>/</targetPath>
<!--jar包所在的路徑 此處配置的即對應項目中target目錄-->
<directory>${project.build.directory}</directory>
<!-- 需要包含的 jar包 ,這里對應的是 Dockerfile中添加的文件名 -->
<include>*.jar</include>
</resource>
</resources>
</configuration>
</plugin>
~~~
5. 添加Dock而file文件,resource目錄下,上一步指定
> 這里添加的jar包是路徑是上一步配置好的 <resource> 中的target和dictionary
~~~
FROM java:8
EXPOSE 8080
VOLUME /tmp
ADD springboot-docker-0.0.1-SNAPSHOT.jar springboot-docker.jar
RUN bash -c 'touch /springboot-docker.jar'
ENTRYPOINT ["java","-jar","/springboot-docker.jar"]
~~~
6. 打包生成鏡像
pom文件已經配置,package時會進行鏡像build
7. 如下圖 docker鏡像已經發布

8. 根據鏡像運行container

找到鏡像,右創建容器

配置暴露的端口和容器名稱

運行成功

# 3. 利用configuration打包鏡像
1. Dockerfile放在項目根路徑下
~~~
FROM java:8
EXPOSE 8080
VOLUME /tmp:/tmp
ADD target/springboot-docker-0.0.1-SNAPSHOT.jar /springboot-docker.jar
RUN bash -c 'touch /springboot-docker.jar'
ENTRYPOINT ["java","-jar","/springboot-docker.jar"]
~~~
2. Edit Configuration
這里可以動態指定tag

3. run
上一步勾選了直接運行容器


- docker
- docker安裝
- 數據持久化
- 鏡像管理
- Dockerfile
- 鏡像的分層
- add copy
- 構建實例
- 鏡像的導入導出
- 清理構建空間
- 配置阿里云加速器
- docker網絡模型
- 本地倉庫
- registry
- harbor
- IDEA部署docker
- 軟件安裝
- 安裝es
- 安裝MongoDB
- 安裝rabbitmq
- 安裝redis
- 安裝nacos
- 安裝mysql
- Minio
- 鏡像中心
- kubernetes
- 1. 安裝k8s
- 2.主要組件
- 3.污點
- 4.pod
- 5.控制器
- 6.網絡
- 7.探針
- 8.安裝Dashbord
- 9.secret
- 9.serviceAccount
- 10.service
- 資源清單
- kube-proxy
- flannel源文件
- 服務升級
- 筆記
- 鏡像