我對docker很新穎,我正在嘗試使用多個應用程序創建一個容器。Docker-compose鏈接服務到dockerfile
讓我們說,我的搬運工,撰寫文件是這樣的:現在
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"]
現在的問題是,當搬運工試圖建立自己的形象,把它安裝PHP和MySQL等...即使我在泊塢窗,撰寫文件鏈接。其次,當它嘗試安裝MySQL時,它會提示輸入主密碼,並在此步驟中保持阻止狀態,即使我填充了某些內容...
也許我完全錯誤地使用它?
任何幫助將不勝感激。
對你的RUN進行分組,因爲Debian 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
查看文檔哦看到,巨大的錯誤...非常感謝:) – Mayous