我想在nginx服务器上工作,并使用php:7.0-fpm 我应该在dockerfile上写什么,特别是从何处开始?我应该在dockerfile上为nginx和php编写什么:7.0-fpm?
-1
A
回答
0
这是我的搬运工,compose.yml
version: '3'
services:
php:
build:
context: .
dockerfile: Dockerfile_php
image: php-fpm71:phalcon
networks:
- app
ports:
- "9000:9000"
volumes:
- ./www:/var/www/html
- ./conf/php/php.ini:/usr/local/etc/php/php.ini
- ./shared:/shared
nginx:
build:
context: .
dockerfile: Dockerfile_nginx
networks:
- app
depends_on:
- php
ports:
- "80:80"
volumes:
- ./www:/var/www/html
- ./conf/nginx/conf.d:/etc/nginx/conf.d
- ./logs/nginx:/var/log/nginx
- ./shared:/shared
mysql:
networks:
- app
depends_on:
- php
image: mysql:latest
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- ./data/mysql:/var/lib/mysql
- ./shared:/shared
networks:
app:
Dockerfile_nginx
FROM nginx:latest
MAINTAINER Yakup Arslan <[email protected]>
RUN apt-get update -y
RUN apt-get install -y \
vim
RUN apt-get autoremove -y && \
apt-get autoclean -y && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN rm -rf /var/log /var/cache
Dockerfile_php
#
# PHP-7.1 Phalcon Support
#
#
# Pull base image
FROM php:7.1-fpm
MAINTAINER Yakup Arslan <[email protected]>
RUN curl -O https://codeload.github.com/phalcon/cphalcon/tar.gz/v3.1.2
RUN tar xvzf v3.1.2
RUN cd cphalcon-3.1.2/build && ./install
RUN cd ../../ && rm -Rf cphalcon-3.1.2 && rm -Rf v3.1.2
RUN echo extension=phalcon.so > /usr/local/etc/php/conf.d/phalcon.ini
RUN apt-get update -y
RUN apt-get install -y \
git \
zip \
unzip \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev
RUN git clone https://github.com/phalcon/phalcon-devtools.git /usr/local/lib/phalcon-devtools && \
ln -svf /usr/local/lib/phalcon-devtools/phalcon.php /usr/local/bin/phalcon && \
chmod ugo+x /usr/local/bin/phalcon
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" && \
php composer-setup.php && \
php -r "unlink('composer-setup.php');" && \
mv composer.phar /usr/local/bin/composer
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install -j$(nproc) mysqli \
pdo_mysql \
bcmath \
gd
RUN apt-get autoremove -y && \
apt-get autoclean -y && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /etc/php5 /etc/php/5* /usr/lib/php/20121212 /usr/lib/php/20131226
RUN rm -rf /var/log /var/cache
+0
首先感谢@yak upars。我必须使用compose.yml?我可以做另一种方式这不仅仅是一个码头文件 –
+0
您应该在[link](https://hub.docker.com)上创建一个码头帐户并提交自己的图像。之后,你可以通过调用'docker run -it yourusername/yourcustomimage bash'来使用你自己的图像。 – yakupars
相关问题
- 1. 我应该在Mac和Windows上使用什么来编码C++?
- 2. 我应该在Moodle做什么编程?
- 3. 应该用什么语言编写API?
- 4. 依靠默认编码,我应该使用什么,为什么?
- 5. 为什么我应该释放PHP和MySQL的结果?
- 6. AndEngine许可证 - 我应该在About上写什么?
- 7. 为什么和什么时候应该在MySQL和PostgreSQL中读写分裂?
- 8. 我应该写什么样的测试?
- 9. 我应该写什么来代替ACFacebookAppIdKey?
- 10. C++元编程,为什么和什么时候应该使用?
- 11. 为什么我的npm dockerfile循环?
- 12. 为什么我们应该在asp.net中的sql查询之前编写@?
- 13. 在PHP中为MySQL编写语句,我在做什么错误?
- 14. 我们应该在.Htaccess文件中为第10段写什么?
- 15. 为什么我应该在写数据之前检查channel isWritable()
- 16. 如何编写使用nginx的和PHP
- 17. OAuth:为什么我应该在Facebook上创建应用程序?
- 18. 什么用户我应该运行我的nginx或php-fpm进程
- 19. 编写SQL生成器,我应该阅读什么内容?
- 20. 我应该用什么语言编写命令shell?
- 21. 我应该用什么语言编写2D游戏?
- 22. 在windows和linux上编写PHP时有什么区别
- 23. 应该在什么和应该从jQuery.ready()?
- 24. 我应该编码什么决议?
- 25. 为什么我应该在PHP网站中使用MVC?
- 26. PHP mysql_close()和mysql_free_result() - 我应该在什么时候使用它们?
- 27. 当我为Android编程时,我应该问什么设计师?
- 28. 我们什么时候应该上课,什么时候不应该上课
- 29. 为了在Windows 7上编写程序集,我需要什么?
- 30. 如果我想获得相同的结果,应该为vb.net datagridview编写什么?
不知道你想要什么来实现的,但如果你希望你的Nginx和PHP容器链接后,您应该使用docker-compose,请参阅https://docs.docker.com/compose/ – user2915097