Docker部署项目实践
上一篇文件介绍了《Docker基础》,介绍类介绍如何使用docker发布java项目。
一、 项目打包
首先,Docker部署项目前,先将项目打包好,比如达成jar文件,最好直接测试jar是否可运行,这里指定了端口
1 java -jar your-app.jar --server.port=8081
然后,将打包好的文件放到服务器指定位置
二、制作Dockerfile文件
创建Dockerfile文件前要有一个满足项目运行的镜像,比如,项目需要jdk8,这个镜像是创建新镜像的基础,一下创建Dockerfile
1 touch Dockerfile
以下是一些常见的指令:
FROM
:指定基础镜像,例如FROM ubuntu:latest
。RUN
:在镜像中执行命令,例如安装软件包,配置环境等。COPY
或ADD
:将本地文件复制到镜像中的指定位置。WORKDIR
:设置工作目录。EXPOSE
:指定容器运行时监听的端口号。CMD
或ENTRYPOINT
:指定容器启动时要执行的命令。
更多指令可以参考 Docker 官方文档。
vim编辑Dockerfile文件
1 # 基于哪个镜像 2 FROM java:8 3 4 # 将本地文件夹挂载到当前容器 5 VOLUME /tmp 6 7 # 拷贝文件到容器,也可以直接写成ADDserver-1.0.0.jar app.jar,/app.jar是容器的path 8 ADD server-1.0.0.jar app.jar 9 RUN bash -c 'touch /app.jar' 10 11 # 开放8081端口 12 EXPOSE 8081 13 14 # 配置容器启动后执行的命令,即java -jar app.jar --server.port=8081命令 15 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--server.port=8081"]
三、制作镜像
有了Dockerfile文件,便可以创建docker镜像
docker build -t image_name .
1 docker build -t house/user .
注意,最后有“.”参数
通过命令查看镜像
1 docker images
四、运行容器
有了镜像,可以创建容器
1 docker run -d --hostname user --name user-server -p 8081:8081 house/user
-d 表示后台运行
--hostname 表示容器的hostname
--name 表示容器的名称
-p 表示映射的端口,宿主机端口:容器端口
查看正在运行的容器
1 docker ps
如果启动异常可以查询日志
docker logs container_id
五、测试项目
如果防火墙没开放端口,需要开放端口
1 firewall-cmd --add-port 8081/tcp --permanent 2 3 firewall-cmd --reload
再浏览器输入访问地址,测试是否可以访问项目
如果该文章对你有所帮助,请点个赞支持下,谢谢!