Docker 学习笔记
-
使用
docker-maven
插件创建 docker 镜像并上传到私有仓库:在 pom 文件中添加:
<build> <finalName>app</finalName> <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>0.4.13</version> <configuration> <imageName>192.168.137.11:5000/${project.artifactId}:${project.version} </imageName> <baseImage>jdk1.8</baseImage> <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> <dockerHost>http://192.168.137.11:2375</dockerHost> </configuration> </plugin> </plugins> </build>
以上配置会自动生成 Dockerfile
FROM jdk1.8 ADD app.jar ENTRYPOINT ["java", "-jar", "/app.jar"]
在终端中执行
mvn clean package docker:build -DpushImage
-
使用镜像的基本操作
按照第一条中操作后,将制作出项目的 docker 镜像,并上传到私有仓库,同时拉取到本地仓库中。
1️⃣(不需要执行,因为已经拉取到本地) 从私有仓库拉取镜像
[root@nazure ~]# docker pull 192.168.137.11:5000/springboot_hello:1.0-SNAPSHOT
2️⃣从镜像创建容器并以守护方式运行
[root@nazure ~]# docker run -d --name=hello -p 8989:8989 192.168.137.11:5000/springboot_hello:1.0-SNAPSHOT
3️⃣登录守护式容器
docker exec -it hello /bin/bash
注意最后的 /bin/bash 即登录后启动 bash 程序
4️⃣退出守护式容器
exit
5️⃣停止容器
docker stop hello
6️⃣再次启动容器
docker start hello