1.ubuntu上安裝docker
wget -qO- https://get.docker.com/ | sh
2. 開啓docekr監聽2375端口,實現鏡像遠程添加
vim /lib/systemd/system/docker.service
在[Service]部分的最下面添加下面兩行:
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
重啓docker服務:
systemctl daemon-reload
systemctl restart docker
3. spring-boot項目 pom文件配置
<properties>
<docker.image.prefix>springboot</docker.image.prefix>
</properties>
<build>
<plugins>
<!-- Docker maven plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<dockerHost>http://192.168.10.222:2375</dockerHost>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
4.main目錄下創建個docker文件夾,創建個Dockerfile文件
FROM java:8
VOLUME /tmp
ADD iot-eureka-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8888
CMD java -jar app.jar
5. idea啓動配置項裏添加一個maven項,command line裏寫:
package docker:build
6. 在unbuntu里加載鏡像啓動容器
docker run -d -p 10035:8888 springboot/iot-eureka
-
-d:讓容器在後臺運行。
- -P :是容器內部端口隨機映射到主機的端口。
- -p : 是容器內部端口綁定到指定的主機端口。
10035:8888就是將容器的8888端口映射到主機的10035端口上,這樣在主機上訪問10035端口就相當於訪問容器的8888端口
7.docker命令
#移除版本爲5.7的allen_mysql
docker rmi allen_mysql:5.7
#移除id爲123456的鏡像
docker rmi 123456
#移除容器
docker rm idOrName
#查看正在運行的容器
docker ps
#查看所有容器
docker ps -a
#查看鏡像/所有鏡像
docker images
docker images-a
#啓動容器
docker start idOrName
#停止容器
docker stop idOrName
docker kill idOrName
#進入容器命令行
docker exec -it name bash
sudo docker exec --help 最好查看下具體說明比較好
8. 容器與鏡像的關係
想要移除鏡像,就要首先移除運行在鏡像上的容器
- Images( Docker鏡像)
Docker鏡像是一個只讀模板,它包含創建 Docker容器的說明。它和系統安裝光盤有點像,使用系統安裝光盤可以安裝系統,同理,使用Docker鏡像可以運行 Docker鏡像中的程序。
- Container(容器)
容器是鏡像的可運行實例。鏡像和容器的關係有點類似於面向對象中,類和對象的關係。可通過 Docker API或者 CLI命令來啓停、移動、刪除容器。