加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

(Docker)如何在WordPress容器中使用单独的Composer容器安装依赖

发布时间:2020-12-16 03:23:34 所属栏目:安全 来源:网络整理
导读:Docker文件 FROM wordpressENV REFRESHED_AT 2015-08-12ADD composer.json /var/www/htmlADD composer.lock /var/www/html# install the PHP extensionsRUN apt-get -qq update apt-get -y upgrade apt-get install -y vim wget rm -rf /var/lib

Docker文件

FROM wordpress

ENV REFRESHED_AT 2015-08-12

ADD 
  composer.json /var/www/html
ADD 
  composer.lock /var/www/html

# install the PHP extensions
RUN 
  apt-get -qq update && 
  apt-get -y upgrade && 
  apt-get install -y vim wget && 
  rm -rf /var/lib/apt/lists/*

# Symlink User's "wp-content" folder into the newly installed WordPress
RUN 
  rm -rf /usr/src/wordpress/wp-content/plugins/* && 
  rm -rf /usr/src/wordpress/wp-content/themes/* && 
  cp -fr /usr/src/wordpress/* /var/www/html/ && 
  chown -R www-data:www-data /var/www/html/

# volume for mysql database and wordpress install
VOLUME ["/var/www/html/wp-content/plugins","/var/www/html/wp-content/themes"]

# Define working directory.
WORKDIR /var/www/html/

EXPOSE 80 3306

CMD ["apache2-foreground"]

Docker撰写文件

wordpress:
  build: .
  links:
    - mysql
    - composer
  volumes:
    - wp-content/plugins/:/var/www/html/wp-content/plugins
    - wp-content/themes/:/var/www/html/wp-content/themes
  environment:
    - WORDPRESS_DB_PASSWORD=__WORDPRESS_DB_PASSWORD__
    - WORDPRESS_DB_NAME=__WORDPRESS_DB_NAME__
    # - WORDPRESS_DB_USER=__WORDPRESS_DB_USER__

  ports:
    - "9888:80"

mysql:
  image: mysql:5.7
  environment:
    - MYSQL_ROOT_PASSWORD=__WORDPRESS_DB_PASSWORD__
    - MYSQL_DATABASE=__WORDPRESS_DB_NAME__

composer:
  image: composer/composer

问题详情

我可以将composer.json和composer.lock文件添加到工作目录中.我可以确认这两个文件在工作目录中.

我需要的是Dockerfile(或其他位置)也将依赖项自动安装到工作目录中.

根据Docker Hub的https://hub.docker.com/r/composer/composer/,
我应该能够docker运行-v ${pwd):/ app composer / composer install来安装依赖项,但是我该如何在Dockerfile中做到这一点呢?

我也很困惑,因为-v标志https://docs.docker.com/engine/userguide/dockervolumes/与将指定的主机目录装入容器有关,但是我已经将必要的文件添加到了工作目录中.我要做的就是安装依赖项.

谢谢您的帮助.

最佳答案
运行作曲家容器时,只需要将当前目录挂载到/ app即可.我整理了一个简单的示例来说明在https://gist.github.com/andyshinn/e2c428f2cd234b718239下的工作情况.

这里的关键部分是应用程序的作曲家部分和重新启动的卷:在主程序上为“是”(该应用程序可能要到Composer运行后才能运行,因此您希望它重新启动).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读