나는 도커에 매우 익숙하며 여러 개의 응용 프로그램으로 컨테이너를 만들려고합니다.도커 - 연결 서비스를 도커 파일에 연결
하자 내 고정 표시기-작성 파일이 같다고 말 :
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는 컨테이너를 사용하여 계획하는 경우
당신의 RUN을 데비안 Jessie가 외면하지 않고'RUN apt-get update'를 실행 한 다음'RUN apt-get install -y wget'을 실행하면 2 개의 다른 컴퓨터에 2 개의 명령을 입력하는 것과 같습니다. 저장소! https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/ – user2915097
에서 Dockerfiles 모범 사례를 확인하십시오. https://hub.docker.com/_/mysql/에서 문서를 확인하십시오. – user2915097
Oh I 많은 실수를 ... 고마워요. :) – Mayous