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命令来启停、移动、删除容器。