docker运行了jar包如何远程访问
时间: 2023-09-21 11:08:06 浏览: 44
要让其他计算机远程访问 Docker 中运行的应用程序,你需要将 Docker 容器的端口映射到主机的端口,并且确保主机防火墙允许该端口的流量通过。具体步骤如下:
1. 在运行 Docker 容器时,使用 -p 或者 --publish 选项将容器的端口映射到主机的端口。例如,如果你的应用程序监听的是容器的 8080 端口,你可以使用以下命令将该端口映射到主机的 8080 端口:
```
docker run -p 8080:8080 my-app:latest
```
这将会将容器的 8080 端口映射到主机的 8080 端口。
2. 检查主机防火墙的设置,确保允许该端口的流量通过。具体操作可以根据你所使用的防火墙软件进行设置。
3. 在其他计算机中访问该应用程序时,可以使用主机的 IP 地址和端口号进行访问。例如,如果你正在运行应用程序的主机的 IP 地址是 192.168.1.100,那么可以使用以下 URL 进行访问:
```
http://192.168.1.100:8080
```
注意,如果你的应用程序使用 HTTPS 协议进行通信,你需要将映射的端口改为 443,并且在访问时使用 HTTPS 协议进行访问。
希望以上步骤对你有所帮助。
相关问题
docker运行jar包
要在 Docker 中运行一个 JAR 包,需要创建一个 Dockerfile 文件并在其中指定必要的步骤。以下是一些基本的步骤:
1. 选择一个基础镜像,例如 OpenJDK。
2. 在 Dockerfile 中指定工作目录,例如 /app。
3. 将 JAR 文件复制到 Docker 镜像中的工作目录中。
4. 暴露应用程序的端口(如果需要)。
5. 使用 CMD 命令指定启动应用程序的命令。
以下是一个示例 Dockerfile 文件:
```
FROM openjdk:11-jre-slim
WORKDIR /app
COPY my-app.jar /app
EXPOSE 8080
CMD ["java", "-jar", "my-app.jar"]
```
这个 Dockerfile 首先选择一个 OpenJDK 的基础镜像,然后在 /app 目录中创建工作目录。接着,将 my-app.jar 文件复制到工作目录中,并暴露 8080 端口。最后,使用 CMD 命令指定在容器启动时运行应用程序的命令。
要构建 Docker 镜像,可以运行以下命令:
```
docker build -t my-app .
```
其中,“my-app”是您为镜像指定的名称,点号表示 Dockerfile 文件在当前目录中。
要运行 Docker 镜像,可以运行以下命令:
```
docker run -p 8080:8080 my-app
```
其中,“my-app”是您为镜像指定的名称,“-p”选项指定将容器端口 8080 映射到主机端口 8080。
docker运行jar包设置访问为0.0.0.0
如果您的Docker容器运行的是Jar包,并且想要从容器外部访问应用程序,您需要将应用程序的监听地址设置为0.0.0.0。
在Spring Boot应用程序中,可以通过在配置文件中添加以下配置来设置监听地址为0.0.0.0:
```
server.address=0.0.0.0
```
如果您使用的是命令行启动应用程序,则可以通过以下命令设置监听地址:
```
java -jar your_application.jar --server.address=0.0.0.0
```
如果您使用的是Dockerfile来构建Docker镜像,可以在Dockerfile中使用以下命令来设置监听地址:
```
ENV SERVER_ADDRESS 0.0.0.0
```
然后,在Docker容器中运行应用程序时,使用以下命令将环境变量传递给应用程序:
```
docker run -e SERVER_ADDRESS=$SERVER_ADDRESS your_image_name
```
通过以上步骤,就可以将Spring Boot应用程序的监听地址设置为0.0.0.0,并从Docker容器外部访问应用程序了。