use*_*828 2 ubuntu docker docker-compose
我有一个 nginx 和 php-fpm 容器。当我在项目中的 php 容器中并执行任何需要时间的命令(如 vendor/bin/behat 或 composer update)时,我单击 CTRL+C。我从容器中弹出。我不知道为什么.. 当我点击 CTRL+C 而不执行命令时,我没有问题。
任何的想法 ?
这是我的 docker-compose.yml 文件:
版本:'3'
服务:
nginx:
图片:nginx:最新
重启:总是
端口:
- “80:80”
卷:
- ./nginx/conf:/etc/nginx/custom_conf
- ./nginx/hosts:/etc/nginx/conf.d/
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./logs/nginx:/var/log/nginx
- ..:/var/www
网络:
我的网络:
ipv4_address: 10.5.0.31
网络:
建造: 。
重启:总是
端口:
- “9000:9000”
- “5001:5001”
卷:
- ./php/php.ini:/usr/local/etc/php/conf.d/30-php.ini
- ./php/app2.conf:/usr/local/etc/php/conf.d/app2.conf
- ./keys/:/var/www/.ssh
- ./custom-hosts:/etc/custom-hosts
- ..:/var/www
- ./supervisor/supervisord.conf:/etc/supervisor/supervisord.conf
- ./supervisor/conf/:/etc/supervisor/conf.d/
网络:
我的网络:
ipv4_address: 10.5.0.20
tty: 真的
D b:
构建:mysql
重启:总是
端口:
- “3306:3306”
卷:
- ./logs/mysql:/var/log/mysqld.log
- ./mysql/sql:/var/dumps
- 数据:/var/lib/mysql
环境:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_USER=root
- MYSQL_PASSWORD=root
网络:
我的网络:
ipv4_address: 10.5.0.23
卷:
数据:
司机:本地
网络:
我的网络:
司机:桥
ipam:
配置:
- 子网:10.5.0.0/16
我的 php-fpm Dockerfile:
从 php:7.1-fpm
工作目录 /var/www
运行 apt-get update && apt-get install -y wget git vim sudo unzip apt-utils
运行 apt-get install -y gnupg
运行 apt-get 更新
###作曲家
运行 cd /usr/src
运行 curl -sS https://getcomposer.org/installer | 须藤 php -- --install-dir=/usr/local/bin --filename=composer
# xdebug
运行 pecl install xdebug-2.5.0 \
&& docker-php-ext-enable xdebug
### php 扩展
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf 集选择
运行 apt-get clean && apt-get update && apt-get -y --fix-missing install libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libicu-dev \
libxml2-dev \
g++ \
zlib1g-dev
运行 docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
运行 docker-php-ext-install -j$(nproc) gd
运行 docker-php-ext-install exif
运行 docker-php-ext-install pdo_mysql
运行 docker-php-ext-configure intl
运行 docker-php-ext-install intl
运行 apt-get install -y libzip-dev
运行 docker-php-ext-install zip
### 主要的
运行 usermod -u 1000 www-data
运行 chmod -R 777 /var/www/
运行 chown -R www-data:www-data /var/www
添加 bash_profile /var/www/.bash_profile
添加 script.sh /usr/bin/script.sh
运行 chmod 755 /usr/bin/script.sh
CMD ["bin/bash"]
入口点 ["script.sh"]
曝光 9000
还有我的 script.sh :
#!/bin/bash php-fpm & echo "Serveur de de developpement Cartesia Education" cat /etc/custom-hosts >> /etc/hosts dpkg-reconfigure -f 非交互式 tzdata echo "LC_TIME=fr_FR.utf8" >> /etc/environment 服务主管开始 exec su -l www-data -s /bin/bash
感谢您的帮助。
您是否尝试过以分离模式(-d 选项)运行容器?
> docker run -d [CONTAINER-NAME]
Run Code Online (Sandbox Code Playgroud)
这将导致容器在后台运行。您仍然可以通过 SSH 进入正在运行的容器:
> docker exec -it [CONTAINER-NAME] bash
Run Code Online (Sandbox Code Playgroud)
退出容器一次不会终止它。