2016-08-29 1 views
0

ととのドッキングウィンドウの露出ポートをリンク:が、私はこのDockerfileを持っているデフォルトのnginxのポート

FROM alpine:3.4 
RUN apk update 
RUN apk add nginx 
RUN apk update 
RUN cp index.html /var/lib/nginx/html/ 
EXPOSE 8080  

、どのように私は、上のindex.htmlファイルは、ローカルホスト上のポート9000を言うことができますアクセスすることができますか?私は困惑した。私がはっきりしていないかどうか尋ねてください。解決策の概要だけが高く評価されます。

答えて

1

主なアプリケーションはnginxですので、nginx Dockerfileから開始してindex.htmlをコピーしてください。

ローカルディレクトリ(Dockerファイルがある場所)にindex.htmlがあると仮定します。

FROM nginx:1.10-alpine 
COPY ./index.html /var/lib/nginx/html 

docker build -t mywebserver:latest . 

を使用してビルド次に、あなたのdocker-compose.ymlファイルには、次のようになります。

version: "2" 
services: 
    mywebserver: 
    image: mywebserver:latest 
    ports: 
     - "8080:80" 
    command: ["nginx", "-g", "daemon off;"] 

そして

docker-compose up -d 

commandを使用してコンテナを構築することができアルスキップする必要がありますが、実際のコマンドをサービス定義に含めることをお勧めします。

+0

index.htmlの内容は、外部ポート8080からアクセスできるコンテナ内のポート80で使用できます。しかし、8080を実行するにはどうすればいいですか?私はコンテナのIPを知る方法を意味しますか? –

+0

私は 'sudo docker run -d -p 8089:8080 mydocker'を実行しています –

+0

上記の' mywebserver'を 'mydocker'でビルドしていれば' docker run -d -p "8080: 80 "mydocker"。 nginxはデフォルトでポート80を待ち受けます。コンテナは**ホスト**のポート8080で到達可能です。 – Alkaline

関連する問題