# docker issues
## docker部署发布 spring boot
1. 先mvn打包
> mvn package
在target生成一个类似appname-0.0.1-SNAPSHOT.jar的文件
2. 将src,pom,mvn打包的jar包文件上传到服务器的某个目录例如docker
3. 在此目录下执行
> mvn package docker:build
如果报错“No plugin found for prefix ‘docker’ in the current project and in the plugin groups ”
则在maven的conf/setting文件中加入
<pluginGroups>
<pluginGroup>com.spotify</pluginGroup>
</pluginGroups>
详细原因:https://github.com/spotify/docker-maven-plugin/issues/322
同时记得在pom文件中加入docker-maven-plugin插件
<!–加入maven插件“docker-maven-plugin”–>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.14</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<!–<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>–>
<dockerDirectory>${project.basedir}</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
4. 打包结束后使用docker查看镜像文件
> docker images
5 运行
docker run -it -d -p 443:8080 springboot/programe
## docker命令
* 停止所有镜像: docker stop $(docker ps -a -q)
* docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
* docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
* 删除所有none的镜像: docker images|grep none|awk '{print $3 }'| xargs docker rmi,如果删不掉则先
> 先查询记录 docker ps -a
把该镜像的记录全部删除掉,如果删除所有镜像的记录,可以使用:
docker ps -a|awk '{print $1}'|xargs docker rm
然后再删除即可