Tag: PHP

Docker撰写命令没有这样的文件

我一直试图containerize我的php wev应用程序(build立在laravel),但我遇到了几个问题 首先我发现容器在执行命令后退出,所以我将构build脚本移动到了不同的容器(迁移和作曲者安装) 我做了一个名为init.sh的脚本,其中包含构build指令,但每当我从docker-compose.yml的command运行它们时,我都没有这样的文件或目录。 这是我的dockerfile FROM nimmis/apache-php7 COPY apache_default /etc/apache2/sites-available/000-default.conf RUN a2enmod rewrite RUN service apache2 restart 这是我的docker-compose.ym version: "3" volumes: db-data: external: false services: db: image: mysql/mysql-server env_file: .env volumes: – db-data:/var/lib/mysql-server migrations: build: . env_file: .env volumes: – .:/var/www/html/books depends_on: – app command: # – /var/www/html/books/artisan migrate # – chmod 777 /var/www/html/init.sh – […]

E:找不到软件包libicu-dev,libicu-dev返回一个非零的代码:100

我正在研究一个php docker application.Am在尝试docker-compose up命令时遇到一个错误。 试图连接一个PHP应用程序到MySQL。 我的docker合成文件 web: build: . command: php -S 0.0.0.0:8000 -t /app links: – db ports: – "8000:8000" volumes: – ./app:/app db: image: mysql ports: – "3306:3306" environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_USER: dev MYSQL_PASSWORD: 123456 MYSQL_DATABASE: myapp 我得到这个错误:E:无法find软件包libicu-dev错误:服务“networking”未能build立:命令'/ bin / sh -c apt-get install -y libicu-dev'返回非零代码: 100

在与–link链接的Docker容器中访问环境variables

我正在为Docker容器中的应用程序设置开发环境,现在我有这些容器: myapp-data – Holds application source code and log files myapp-phpfpm – Runs the php5-fpm process for Nginx myapp-nginx – Runs the Nginx web server that serves the application 这个设置很好用,我真的很高兴。 但是我的应用程序需要一个MySQL数据库来连接,所以我使用官方的MySQL镜像 ,像这样运行它: sudo docker run –name myapp-mysql -e "MYSQL_ROOT_PASSWORD=iamroot" -e "MYSQL_USER=redacted" -e "MYSQL_PASSWORD=redacted" -e "MYSQL_DATABASE=redacted" -d mysql 这也很好。 但是我的myapp-phpfpm容器需要链接到myapp-mysql容器,以便将MySQL的连接细节公开给我的应用程序。 所以我重新启动我的myapp-phpfpm容器: sudo docker run –privileged=true –name […]

Docker和包pipe理器在生产中

我正在开发一个PHP应用程序,我想使用docker集装箱运行。 我正在使用composer包pipe理器来引入所有的依赖关系。 所有的代码保存在一个git仓库,除了依赖。 为了使我的本地机器上运行的一切,我使用docker-compose(图)。 我将我的应用程序代码(包括供应商文件夹)装载到我的容器上。 这是我的docker-compose.yml文件。 nginx: image: nginx:1.9 links: – php volumes: – conf/nginx/default.conf:/etc/nginx/conf.d/default.conf – src:/var/www/html ports: – "80:80" php: image: php:5.6.9-fpm links: – memcached volumes: – conf/php/php.ini /usr/local/etc/php/php.ini – src:/var/www/html volumes_from: – nginx 我不明白的是我如何将其推入生产或分期环境。 根据我的理解,最好将容器中的所有东西都放在容器中,而不必运行包pipe理器,因为这可能会失败,或者包可能与本地机器上的包不一样。 所以我想出了以下docker-compose.yml文件: webapp: image : quay.io/myusername/myrepo php: image: php:5.6.9-fpm volumes: – config/php/php.ini /usr/local/etc/php/php.ini volumes_from: – webapp nginx: image: nginx:1.9 […]

Docker和symfony

我正在与Docker苦苦挣扎。 我正努力创造一个图像来处理symfony项目,并在同一时间学习Docker。 这是我的Dockerfile: FROM php:7-apache LABEL Description = "This image is used to start Symfony3 project" ENV DIRPATH /var/www/html # apt-get command RUN apt-get update && apt-get install -y \ vim \ git \ && apt-get clean # Install Composer RUN curl -sS https://getcomposer.org/installer | php RUN mv composer.phar /usr/local/bin/composer # Install the Symfony Installer […]

远程debuggingpath映射

我想能够在docker容器中使用debugging器,我设法将laravel的/public/index.php入口点/public/index.php到容器内的nginx服务器上的path,index.php中的断点正在被击中,但是在默认路由中的断点“/ “在app/http/routes.php不是,虽然路由的代码正在执行。 它是laravel 5.1的默认文件夹结构。 index.php的工作path映射是/var/www/laravel/public – C:\Users\username\Desktop\zemke2\public (分别为服务器path – 项目path) 这里的Printscreen: printscreen http://img.gdocker.com/php/28dfa2791dd746a1bfc61971427fa379.png 我需要帮助为“/”路线的断点工作。

Docker – 全functionWordPress(WP + DB + PHPMyAdmin)

我尝试使用mariaDB和PHPMyAdmin在一个容器上运行一个完整的wordpress服务。 我只能find过时的(如v1 docker-compose)在线帮助。 我试着用这个docker-compose.yml文件: 已编辑的文件: version: '2' services: wordpress: image: wordpress:latest networks: – front – back ports: – 8080:80 environment: WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: wpdb WORDPRESS_TABLE_PREFIX: wp_ WORDPRESS_DB_HOST: wordpress_db volumes: – ./wordpress-data:/var/www/html – ./php/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini wordpress_db: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: examplepass volumes: – wordpress-db-data:/var/lib/mysql networks: – back phpmyadmin: image: phpmyadmin/phpmyadmin networks: – back ports: – 8181:80 volumes: […]

用php和mysql创builddocker镜像

我有build立在ubuntu和mysql上的php5.6-apache映像 :5.6映像 。 我想从两幅图像上面创builddocker图像,以便我可以在gitlab ci中使用新build的图像。 我怎样才能做到这一点? 我对docker和gitlab相当新。 我试图在gitlab中,但没有工作。 image: viraths/php5.6-apache:latest stages: – build – test deps build: stage: build variables: MYSQL_DATABASE: test MYSQL_ROOT_PASSWORD: password DNSDOCK_ALIAS: localhost services: – mysql:5.6 script: – export APPLICATION_ENV=test – if [ -f /.dockerinit ]; then export COMPOSER_HOME=/cache/composer; fi; – php -v – composer install –no-progress –no-interaction –prefer-dist artifacts: paths: – […]

未能解决'kafka:9092':名称或服务未知 – docker / php-rdkafka

我试图让PHP连接到docker集装箱内的所有卡夫卡。 kafka php lib – https://github.com/arnaud-lb/php-rdkafka/ kafkadocker集装箱 – https://hub.docker.com/r/wurstmeister/kafka/ 一切正在build设和运行好,但是当我尝试与PHP生产者连接,我得到以下几点: httpd_1 | %3|1490816385.542|FAIL|rdkafka#producer-1| [thrd:kafka:9092/bootstrap]: kafka:9092/bootstrap: Failed to resolve 'kafka:9092': Name or service not known httpd_1 | %3|1490816385.543|ERROR|rdkafka#producer-1| [thrd:kafka:9092/bootstrap]: kafka:9092/bootstrap: Failed to resolve 'kafka:9092': Name or service not known httpd_1 | %3|1490816385.543|ERROR|rdkafka#producer-1| [thrd:kafka:9092/bootstrap]: 1/1 brokers are down 我在PHP中使用以下内容 $rk = new RdKafka\Producer(); $rk->setLogLevel(LOG_DEBUG); $rk->addBrokers("kafka"); $topicConf = […]

将docker-compose.yml中的软件包安装到docker容器中

我是docker工和docker工的初学者,我需要你的帮助。 我正在使用docker-compose制作PHP-NGINX-PostgresSQL symfony开发环境。 这里是 : web: image: nginx:1.13.5 ports: – "80:80" volumes: – ./html:/html – ./site.conf:/etc/nginx/conf.d/default.conf links: – php php: image: php:7-fpm volumes: – ./html:/html links: – postgres postgres: image: postgres:9.6.5 ports: – "5432:5432" environment: POSTGRES_PASSWORD: postgres 现在,我想安装php7.2-intl到我的PHP容器。 所以我想执行这样的事情: $ sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php $ sudo apt-get update $ sudo apt-get install php7.2-intl 你可以帮帮我吗? 我真的被困住了,也没有Dockerfile文件,只是一个docker-compose.yml文件。