[英]Exposing docker container ports not working
我在將端口從Docker容器暴露到服務器時遇到麻煩。 這是我所做的:
我編寫了一個非常簡單的spring boot應用程序,該應用程序在端口8080上運行。
現在,我正在嘗試將其部署到服務器上的docker容器中。 基於春季 -Docker用戶指南入門,我創建了以下Dockerfile:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
在第二步中,我將jar復制到了相同的目錄(存儲dockerfile的目錄),並使用以下命令構建了容器:
docker build . -t testportmapping --build-arg JAR_FILE=swagger-v2-person-ws-0.0.1-SNAPSHOT.jar
現在,當我運行時:
docker run -d testportmapping:latest -p 9065:8080
該命令運行無錯誤。 但是,如果我看一下: docker container ls
:我發現沒有創建端口映射:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f15639c81903 testportmapping:latest "java -Djava.securit…" About 6 minutes ago Up 6 minutes mystifying_payne
有人知道我做錯了嗎?
--net=host
到--net=host
docker run
命令 root@jupiter /h/n/d/p/swagger-v2# docker version
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:24:56 2018
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:23:21 2018
OS/Arch: linux/amd64
Experimental: false
root@jupiter /h/n/d/p/swagger-v2# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.5 LTS
Release: 16.04
Codename: xenial
在命令下面運行
docker run -d -p 9065:8080 testportmapping:latest
映像名稱應為最后一個參數,所有其他參數應位於其后。
PS正如@David Maze在評論中提到的,將映像名稱傳遞到容器之后的內容
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.