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

再浏览器输入访问地址,测试是否可以访问项目

 

posted @ 2023-08-02 23:00  天晴修屋顶  阅读(58)  评论(0编辑  收藏  举报