質問編集履歴

4 追記の修正

tarotarosu

tarotarosu score 102

2017/07/12 18:33  投稿

docker-composeで立ち上げたコンテナ内のコンテンツにアクセスする方法
###前提・実現したいこと
docker-composeで立ち上げたコンテナ内のコンテンツにどのようにアクセスしていいか分かりません。
VagrantでCentOSを入れて、その中でDockerを使用できるようにし、
Docker ComposeによってLAMP環境を構築しました。
`docker-compose.yml`を下記のように設定し、`docker-compose up -d` を実行しました。
```yml
mysql:
image: mysql:5.7.11
environment:
 - MYSQL_ROOT_PASSWORD=root
apache-php:
image: php:5.6.19-apache
ports:
 - "80:80"
volumes:
 - ./src:/var/www/html
links:
 - mysql:db
phpmyadmin:
image: phpmyadmin/phpmyadmin:4.5.3.1-1
ports:
 - "8080:8080"
links:
 - mysql:db
```
docker-compose ps で状態を確認したところ、
```
     Name                   Command            State          Ports
--------------------------------------------------------------------------------
work_apache-php_1  apache2-foreground           Up     0.0.0.0:80->80/tcp
work_mysql_1       docker-entrypoint.sh mysqld  Up     3306/tcp
work_phpmyadmin_1  /run.sh                      Up     0.0.0.0:8080->8080/tcp
```
のようになっており、おそらく問題なくコンテナが立ち上がっている状態だと思います。
今、`docker-compose.yml`にも記述してあるように、`./src`を`/var/www/html`に割り当て、`./src`以下に`index.html`を作成し、ブラウザから表示を確認しようと思っています。
しかし、ブラウザからどのようにアクセスすれば`index.html`の内容を確認できるのかが分かりません。
Vagrantfileの
```rb
# config.vm.network "private_network", ip: "192.168.33.10"
```
部分のコメントアウトは消してあります。
また、
```
docker inspect -f "{{.NetworkSettings.IPAddress}}" CONTAINER
```
で、work_apache-php_1のipアドレスを確認し、index.htmlを表示しようとしたが、ダメでした。
どのようにすればdocker-composeで立ち上げたコンテナ内のコンテンツを表示することができるのでしょうか?
かなり根本的なところからわかっていないと思いますが、何か回答を頂けると助かります_(._.)_
#### 参考記事
[XAMPP/MAMPの代わりにDocker ToolboxでLAMP環境を構築する(Docker入門ハンズオン)](http://qiita.com/kazuma1989/items/e08e8475fc5126f2363f)
#### 追記
`Vagrantfil`のポートフォワード部分を下記のようにし、
```rb:Vagrantfile
config.vm.network :forwarded_port, guest: 80, host: 8080, host_ip: "127.0.0.1", id: 'http'
```
`ホストPC:8080 → CentOS:80 → apache:80`のような感じで繋ぎ、CentOS上で
```
wget http://localhost/ --no-proxy
```
としたところ、
```
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 182 [text/html]
Saving to: ‘index.html’
100%[=======================================================================>] 182        --.-K/s  in 0s
2017-07-12 07:35:55 (25.6 MB/s) - ‘index.html’ saved [182/182]
```
上記のように表示されました。
ブラウザから下記にアクセスしてみましたが、ダメでした。
`http://localhost:8080/index.html`
ブラウザから`http://localhost:8080/index.html`にアクセスしてみましたが、ダメでした。
なので、`ホストPC:8080 → CentOS:80`の問題なのかと...
何が問題なのでしょうか...
  • VirtualBox

    903 questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

  • Vagrant

    1389 questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • Docker

    1049 questions

    Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

3 追記の修正

tarotarosu

tarotarosu score 102

2017/07/12 17:03  投稿

docker-composeで立ち上げたコンテナ内のコンテンツにアクセスする方法
###前提・実現したいこと
docker-composeで立ち上げたコンテナ内のコンテンツにどのようにアクセスしていいか分かりません。
VagrantでCentOSを入れて、その中でDockerを使用できるようにし、
Docker ComposeによってLAMP環境を構築しました。
`docker-compose.yml`を下記のように設定し、`docker-compose up -d` を実行しました。
```yml
mysql:
image: mysql:5.7.11
environment:
 - MYSQL_ROOT_PASSWORD=root
apache-php:
image: php:5.6.19-apache
ports:
 - "80:80"
volumes:
 - ./src:/var/www/html
links:
 - mysql:db
phpmyadmin:
image: phpmyadmin/phpmyadmin:4.5.3.1-1
ports:
 - "8080:8080"
links:
 - mysql:db
```
docker-compose ps で状態を確認したところ、
```
     Name                   Command            State          Ports
--------------------------------------------------------------------------------
work_apache-php_1  apache2-foreground           Up     0.0.0.0:80->80/tcp
work_mysql_1       docker-entrypoint.sh mysqld  Up     3306/tcp
work_phpmyadmin_1  /run.sh                      Up     0.0.0.0:8080->8080/tcp
```
のようになっており、おそらく問題なくコンテナが立ち上がっている状態だと思います。
今、`docker-compose.yml`にも記述してあるように、`./src`を`/var/www/html`に割り当て、`./src`以下に`index.html`を作成し、ブラウザから表示を確認しようと思っています。
しかし、ブラウザからどのようにアクセスすれば`index.html`の内容を確認できるのかが分かりません。
Vagrantfileの
```rb
# config.vm.network "private_network", ip: "192.168.33.10"
```
部分のコメントアウトは消してあります。
また、
```
docker inspect -f "{{.NetworkSettings.IPAddress}}" CONTAINER
```
で、work_apache-php_1のipアドレスを確認し、index.htmlを表示しようとしたが、ダメでした。
どのようにすればdocker-composeで立ち上げたコンテナ内のコンテンツを表示することができるのでしょうか?
かなり根本的なところからわかっていないと思いますが、何か回答を頂けると助かります_(._.)_
#### 参考記事
[XAMPP/MAMPの代わりにDocker ToolboxでLAMP環境を構築する(Docker入門ハンズオン)](http://qiita.com/kazuma1989/items/e08e8475fc5126f2363f)
#### 追記
Docker上のWebサーバーにアクセスするために、ホスト-vagrant-dockerをポートフォワードで繋げればよいのかなと思っているのですが、いまひとつ分からない...
`Vagrantfil`のポートフォワード部分を下記のようにし、
```rb:Vagrantfile  
config.vm.network :forwarded_port, guest: 80, host: 8080, host_ip: "127.0.0.1", id: 'http'  
```  
また、Windos10上に
`ホストPC:8080 → CentOS:80 → apache:80`のような感じで繋ぎ、CentOS上で
```
wget http://localhost/ --no-proxy
```
としたところ、
VirtualBox
Vagrant 1.9.3
```
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 182 [text/html]
Saving to: ‘index.html’
を導入し、Vagrantで
100%[=======================================================================>] 182        --.-K/s  in 0s
CentOS 7.2を入れ、その中に
Docker 1.12.6
docker-compose 1.11.2
を導入しています。
2017-07-12 07:35:55 (25.6 MB/s) - ‘index.html’ saved [182/182]
```
上記のように表示されました。
ブラウザから下記にアクセスしてみましたが、ダメでした。
`http://localhost:8080/index.html`
何が問題なのでしょうか...
  • VirtualBox

    903 questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

  • Vagrant

    1389 questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • Docker

    1049 questions

    Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

2 追記の修正

tarotarosu

tarotarosu score 102

2017/07/12 16:13  投稿

docker-composeで立ち上げたコンテナ内のコンテンツにアクセスする方法
###前提・実現したいこと
docker-composeで立ち上げたコンテナ内のコンテンツにどのようにアクセスしていいか分かりません。
VagrantでCentOSを入れて、その中でDockerを使用できるようにし、
Docker ComposeによってLAMP環境を構築しました。
`docker-compose.yml`を下記のように設定し、`docker-compose up -d` を実行しました。
```yml
mysql:
image: mysql:5.7.11
environment:
 - MYSQL_ROOT_PASSWORD=root
apache-php:
image: php:5.6.19-apache
ports:
 - "80:80"
volumes:
 - ./src:/var/www/html
links:
 - mysql:db
phpmyadmin:
image: phpmyadmin/phpmyadmin:4.5.3.1-1
ports:
 - "8080:8080"
links:
 - mysql:db
```
docker-compose ps で状態を確認したところ、
```
     Name                   Command            State          Ports
--------------------------------------------------------------------------------
work_apache-php_1  apache2-foreground           Up     0.0.0.0:80->80/tcp
work_mysql_1       docker-entrypoint.sh mysqld  Up     3306/tcp
work_phpmyadmin_1  /run.sh                      Up     0.0.0.0:8080->8080/tcp
```
のようになっており、おそらく問題なくコンテナが立ち上がっている状態だと思います。
今、`docker-compose.yml`にも記述してあるように、`./src`を`/var/www/html`に割り当て、`./src`以下に`index.html`を作成し、ブラウザから表示を確認しようと思っています。
しかし、ブラウザからどのようにアクセスすれば`index.html`の内容を確認できるのかが分かりません。
Vagrantfileの
```rb
# config.vm.network "private_network", ip: "192.168.33.10"
```
部分のコメントアウトは消してあります。
また、
```
docker inspect -f "{{.NetworkSettings.IPAddress}}" CONTAINER
```
で、work_apache-php_1のipアドレスを確認し、index.htmlを表示しようとしたが、ダメでした。
どのようにすればdocker-composeで立ち上げたコンテナ内のコンテンツを表示することができるのでしょうか?
かなり根本的なところからわかっていないと思いますが、何か回答を頂けると助かります_(._.)_
#### 参考記事
[XAMPP/MAMPの代わりにDocker ToolboxでLAMP環境を構築する(Docker入門ハンズオン)](http://qiita.com/kazuma1989/items/e08e8475fc5126f2363f)
#### 追記
Windos10上に
Docker上のWebサーバーにアクセスするために、ホスト-vagrant-dockerをポートフォワードで繋げればよいのかなと思っているのですが、いまひとつ分からない...
また、Windos10上に
VirtualBox
Vagrant 1.9.3
を導入し、Vagrantで
CentOS 7.2を入れ、その中に
Docker 1.12.6
docker-compose 1.11.2
を導入しています。
  • VirtualBox

    903 questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

  • Vagrant

    1389 questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • Docker

    1049 questions

    Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

1 追記を記入

tarotarosu

tarotarosu score 102

2017/07/12 11:14  投稿

docker-composeで立ち上げたコンテナ内のコンテンツにアクセスする方法
###前提・実現したいこと
docker-composeで立ち上げたコンテナ内のコンテンツにどのようにアクセスしていいか分かりません。
VagrantでCentOSを入れて、その中でDockerを使用できるようにし、
Docker ComposeによってLAMP環境を構築しました。
`docker-compose.yml`を下記のように設定し、`docker-compose up -d` を実行しました。
```yml
mysql:
image: mysql:5.7.11
environment:
 - MYSQL_ROOT_PASSWORD=root
apache-php:
image: php:5.6.19-apache
ports:
 - "80:80"
volumes:
 - ./src:/var/www/html
links:
 - mysql:db
phpmyadmin:
image: phpmyadmin/phpmyadmin:4.5.3.1-1
ports:
 - "8080:8080"
links:
 - mysql:db
```
docker-compose ps で状態を確認したところ、
```
     Name                   Command            State          Ports
--------------------------------------------------------------------------------
work_apache-php_1  apache2-foreground           Up     0.0.0.0:80->80/tcp
work_mysql_1       docker-entrypoint.sh mysqld  Up     3306/tcp
work_phpmyadmin_1  /run.sh                      Up     0.0.0.0:8080->8080/tcp
```
のようになっており、おそらく問題なくコンテナが立ち上がっている状態だと思います。
今、`docker-compose.yml`にも記述してあるように、`./src`を`/var/www/html`に割り当て、`./src`以下に`index.html`を作成し、ブラウザから表示を確認しようと思っています。
しかし、ブラウザからどのようにアクセスすれば`index.html`の内容を確認できるのかが分かりません。
Vagrantfileの
```rb
# config.vm.network "private_network", ip: "192.168.33.10"
```
部分のコメントアウトは消してあります。
また、
```
docker inspect -f "{{.NetworkSettings.IPAddress}}" CONTAINER
```
で、work_apache-php_1のipアドレスを確認し、index.htmlを表示しようとしたが、ダメでした。
どのようにすればdocker-composeで立ち上げたコンテナ内のコンテンツを表示することができるのでしょうか?
かなり根本的なところからわかっていないと思いますが、何か回答を頂けると助かります_(._.)_
#### 参考記事
[XAMPP/MAMPの代わりにDocker ToolboxでLAMP環境を構築する(Docker入門ハンズオン)](http://qiita.com/kazuma1989/items/e08e8475fc5126f2363f)
[XAMPP/MAMPの代わりにDocker ToolboxでLAMP環境を構築する(Docker入門ハンズオン)](http://qiita.com/kazuma1989/items/e08e8475fc5126f2363f)
#### 追記
Windos10上に
VirtualBox
Vagrant 1.9.3
を導入し、Vagrantで
CentOS 7.2を入れ、その中に
Docker 1.12.6
docker-compose 1.11.2
を導入しています。
  • VirtualBox

    903 questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

  • Vagrant

    1389 questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • Docker

    1049 questions

    Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る