docker运行了jar包如何远程访问
时间: 2023-09-21 17:08:06 浏览: 86
要让其他计算机远程访问 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 协议进行访问。
希望以上步骤对你有所帮助。
相关问题
ssh连接开发环境打包目录为/home/aofei/jar/打包方式为docker
SSH(Secure Shell)是一种远程登录协议,常用于Linux系统之间的安全通信,包括在开发环境中管理和部署应用。当你需要将你的开发环境打包到Docker容器中,并将其部署到`/home/aofei/jar/`目录下,可以按照以下步骤操作:
1. **创建Dockerfile**: 编辑一个新的Dockerfile文件,该文件通常位于你的项目根目录。Dockerfile包含了一系列命令来构建你的镜像。
```Dockerfile
FROM ubuntu:latest
# 设置工作目录
WORKDIR /home/aofei
# 安装必要的工具和依赖
RUN apt-get update && apt-get install -y openssh-server python3 build-essential
# 将jar包复制到容器中
COPY jar/*.jar app.jar
# 配置sshd服务
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
```
2. **构建镜像**:
在Dockerfile所在的目录运行`docker build -t your-image-name .`,这会基于Dockerfile的内容创建一个新的镜像。
3. **运行容器**:
使用`docker run -p host_port:container_port -v $PWD:/home/aofei your-image-name`命令运行容器。 `-p`选项映射宿主机端口到容器内的sshd监听端口,`-v`选项挂载本地的`/home/aofei`目录到容器内部,方便访问jar文件。
4. **连接容器**:
从本地通过SSH命令行连接到容器,例如:
```
ssh root@localhost -p host_port
```
如果你的用户名不是root,替换为相应的用户名,如`ssh aofei@localhost -p host_port`。
将本地的jar包传入36.140.31.201:10000/cnsof93012071,生成docker命令
您可以使用以下命令将本地的jar包传输到36.140.31.201服务器上,并生成相应的Docker命令:
1. 将本地的jar包传输到远程服务器:
```shell
scp /本地路径/your_jar_file.jar username@36.140.31.201:/cnsof93012071
```
请将`/本地路径/your_jar_file.jar`替换为您本地jar包的实际路径,`username`替换为您在远程服务器上的用户名。
2. 在36.140.31.201服务器上生成Docker命令:
```shell
docker run -d -p 10000:10000 -v /cnsof93012071:/app your_jar_file.jar
```
请将`your_jar_file.jar`替换为您的jar文件名称。
这个命令将会在容器中运行您的jar文件,并将它映射到主机的10000端口上。容器内部的`/app`目录将与远程服务器上的`/cnsof93012071`目录进行挂载,使得jar文件可以被访问到。
希望这可以帮到您!如果您有任何其他问题,请随时提问。
阅读全文