返回

Docker Web项目一键打包成镜像

后端

准备工作

在开始之前,请确保您已经安装了Docker和Maven,并已创建一个Web项目。

利用Maven插件构建Docker镜像

  1. 在您的Web项目根目录下,创建一个名为“Dockerfile”的文件,并输入以下内容:
FROM openjdk:8-jdk-alpine

RUN mkdir /app
WORKDIR /app

COPY . /app

RUN mvn package

CMD ["java", "-jar", "target/*.jar"]
  1. 在命令行中,执行以下命令:
mvn clean package docker:build

这将使用Maven Docker插件构建Docker镜像。

关闭防火墙

在某些情况下,防火墙可能会阻止Docker与外部世界通信。要关闭防火墙,请运行以下命令:

sudo ufw disable

修改Docker配置,使其能够被远程访问

默认情况下,Docker只能被本地主机访问。要使其能够被远程访问,需要修改Docker配置。

  1. 打开Docker配置文件“/etc/docker/daemon.json”。

  2. 在配置文件中添加以下内容:

{
  "hosts": ["0.0.0.0:2375"]
}
  1. 保存并关闭配置文件。

  2. 重启Docker服务:

sudo systemctl restart docker

测试Docker镜像

要测试Docker镜像,请运行以下命令:

docker run -it --rm --name my-web-app -p 8080:8080 my-web-app

这将启动一个Docker容器,并将其端口8080映射到主机的端口8080。

现在,您可以通过在浏览器中输入“http://localhost:8080”来访问您的Web应用程序。

部署Docker镜像

要将Docker镜像部署到生产环境,可以使用以下命令:

docker push my-web-app

这将把Docker镜像推送到Docker Hub。

然后,您可以在目标服务器上运行以下命令来部署Docker镜像:

docker pull my-web-app

docker run -d -p 8080:8080 --name my-web-app my-web-app

这将从Docker Hub拉取Docker镜像,并启动一个Docker容器。

现在,您可以在目标服务器上通过在浏览器中输入“http://[目标服务器IP]:8080”来访问您的Web应用程序。