1,pom.xml文件配置插件com.spotify docker-maven-plugin 1.0.0 build-image package build motormmcs latest ${project.basedir}/src/main/docker http://填写IP:端口 / ${project.build.directory} ${project.build.finalName}.jar docker-hub https://index.docker.io/v1 src/main/resources true src/main/java **/*.xml **/*.json **/*.ftl
2,创建docker文件夹,新建dockerfile(可以忽略大小写),内容
#jdk版本 FROM java:8 VOLUME /tmp #打包是motormmcs-1.0.2.jar motor.jar是别名 ADD motormmcs-1.0.2.jar motor.jar #路径 RUN bash -c 'touch /motor.jar' #对外端口 EXPOSE 8082 #启动jar ENTRYPOINT ["java", "-jar", "motor.jar"]
3,idea下载docker,指定上面写的dockerfile文件
4,在配置docker时,记录相关问题,可以查看一下
学习网站
https://www.runoob.com/docke
查看所有镜像
docker images
常用命令linux是一样的
创建文件夹,用于存放后面的相关东西。
mkdir -p /nginx/www /nginx/logs /nginx/conf
启动nginx,指定配置文件,我们实际修改是D盘的东西,指定到docker上面
docker run -d -p 8081:80 --name nginx-test-web -v /nginx/www:/usr/share/nginx/html -v /nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx
杀进程,杀了后还能访问
docker kill -s HUP nginx-test-web
重启
docker restart nginx-test-web
停止,不能访问了
docker stop nginx-test-web
查看正在运行的服务信息
docker ps
查看容器的信息 下面的5是看5列信息
docker ps -n 5
有些服务stop和kill,查看看在运行,要移除就好了
参考https://blog.csdn.net/guyunzh/article/details/85779154
docker rm nginx-test-web , nginx-b-web
参考:https://www.cnblogs.com/spll/p/9957769.html
部署服务要挂载到服务器中
查找启动tomcat
docker ps
找到id=9fccf0236619后,找到在docker容器的的地址
docker exec -it 9fccf0236619 /bin/bash
找到地址后bb276708a79a:/usr/local/tomcat/webapps
cp到服务器中
docker cp /usr/local/testJavaProject/test01.war 9fccf0236619:/usr/local/tomcat/webapps
在idea中连接不上,可能远程端口没有访问
参考:https://blog.csdn.net/ChineseYoung/article/details/83107353
docker在服务器上部署,
1,把已经打好包上传到服务器,(rz上传,记住打包要是可以运行的,自己现在本地试一遍,正常后再上传到服务器中)
2,创建dockerFile文件,下面是内容
每个命令开头都是大写,这是规则
FROM java --这是java程序,基础镜像就是java,没有他会自动到去下载,手动下载docker pull java
ADD docker_test.jar /docker_test.jar
EXPOSE 8080 --这个是对外的端口tomcat启动默认是8080 也可写 8080:8080(外:内)
ENTRYPOINT ["java", "-jar", "/docker_test.jar"]
保存文件
3,启动构建, -f 是文件配置 -t 是images名称 v1是版本 . 是当前路径
docker build -f dockerFile -t liu/test:v1 .
4,启动程序
docker run --name docker_test -p 8086:8080 -d liu/test:v1
docker run --name docker_test22 -p 8087:8080 -d liu/test:v1
对外端口只能有一个不能重复,内部端可以重复用
5,访问
http://121.40.150.88:8086/
在idea镜像碰到坑,文件必须要以这个(dockerfile)命名,不分大小写
移除容器
1.docker stop<容器ID或容器名> ,容器停止了,当时没有及时移除,可能随着docker启动还能访问
2.docker rm <容器ID或容器名> ,移除后就不能在访问了
移除镜像
一个镜像名称可以有多个,如java ,java:8 ,但是images ID都是样,说明是同一个镜像,删除时就会提醒有引用
,这里需要强制删除才有效果
1,简单删除Docker rmi <容器ID或容器名>
2,docker rmi -f 974851f7993e 这里是强制删除的,主要是同一个id的都没有了
镜像后面的tag默认是latest,启动容器可以不写,如果你重新命名,那就要带上不然启动不了