私はドッカーには新しく、複数のアプリケーションでコンテナを作成しようとしています。DockerファイルへのDocker-composeリンクサービス
レッツは、私のドッキングウィンドウ・コンファイルは次のようであると言う:
version: '2'
services:
myapp:
build: ./dockerfiles/myapp
volumes:
- ./www:/var/www
- ./logs:/var/log
- ./mysql-data:/var/lib/mysql
- ./php:/etc/php5
- ./nginx:/etc/nginx
ports:
- "8082:8000"
- "6606:3306"
links:
- mysql:mysql
- php:php
- nginx:nginx
mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: [email protected]
MYSQL_USER: replymwp
MYSQL_PASSWORD: ZSzLPoOi9wlhFaiJ
php:
image: php:5.6-fpm
links:
- mysql:db
nginx:
image: nginx
links:
- php:php
さて、myappのDockerFileで、私はMySQLを必要とするパッケージをインストールします。
FROM debian:jessie
RUN apt-get update
RUN apt-get update
RUN apt-get install -y apt-show-versions
RUN apt-get install -y wget
RUN wget http://repo.ajenti.org/debian/key -O- | apt-key add -
RUN echo "deb http://repo.ajenti.org/ng/debian main main ubuntu" >> /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y ajenti
RUN apt-get install -y ajenti-v ajenti-v-ftp-vsftpd ajenti-v-php-fpm ajenti-v-mysql
EXPOSE 8000
ENTRYPOINT ["ajenti-panel"]
今の問題は、私は私のドッキングウィンドウ・コンファイルにリンクしていても...などのmysql、ドッキングウィンドウが私のイメージを構築しようとすると、それがPHPをインストールし、です。また、mysqlをインストールしようとすると、マスターパスワードが要求され、何かを入力してもこのステップでブロックされます...
私はそれを使用する方法が全く間違っていますか?
助けていただければ幸いです。あなたは、なぜあなたはまだこのライン上のmpappのdockerfileでインストールなどしている別のMySQLとPHPのコンテナを使用して計画している場合
Debian Jessieがちょうど外に出ていないので、RUN apt-get update 'を実行してから' RUN apt-get install -y wget'を実行すると2つの異なるコンピュータに2つのコマンドを入力するようなものなので、リポジトリ! Dockerfilesのベストプラクティスについてはhttps://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/ – user2915097
を参照してください。https://hub.docker.com/_/mysql/ – user2915097
でドキュメントを確認してください参照してください、巨大な間違い...ありがとうたくさん:) – Mayous