私はdockerfileからdrupalをビルドし、そのディレクトリを/ dr/var/ しかし、docker-composeビルドでdockerfileをビルドすると、正しくドッキングできるようになります。 docker-composeを実行するとすぐにファイルは消えますが、ボリュームはマップされます。 は実行docker-composeファイルはコンテナディレクトリのdockerfileで抽出されたファイルを削除します
DockerFile
FROM drupal:7
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
ENV DRUPAL_VERSION 7.36
ENV DRUPAL_MD5 98e1f62c11a5dc5f9481935eefc814c5
ADD . /var/www/html/sites/all/modules
WORKDIR /var/www/html
RUN chown -R www-data:www-data sites
WORKDIR /var/www/html/sites/all/modules
# Install drupal-chat
ADD "http://ftp.drupal.org/files/projects/{drupal-module}.gz {drupal-module}.tar.gz"
RUN tar xzvf {drupal-module} \
&& rm {drupal-module} \
ドッキングウィンドウ・コンファイル
# PHP Web Server
version: '2'
drupal_box:
build: .
ports:
- "3500:80"
external_links:
- docker_mysqldb_1
volumes:
- ~/Desktop/mydockerbuild/drupal/modules:/var/www/html/sites/all/modules
- ~/Desktop/mydockerbuild:/var/log/apache2
networks:
- default
- docker_default
environment:
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_DATABASE: drupal
restart: always
#entrypoint: ./Dockerfile
networks:
docker_default:
external: true
をドッキングウィンドウ-コンの両方を見て、dockerfileしてください:
sudo docker-compose build
sudo docker-compose up
を上記のコマンドの両方を実行するには - コンテナ内のディレクトリには存在しません{drupal-module folder}が見つかりましたが、dockerfileのtarコマンドのxzvfのために、コンソールのディレクトリで正常に展開されています。 これは、ホストディレクトリとコンテナディレクトリの両方のマッピングに役立ちます。追加または削除されたファイルは、仮想的にもローカルにも見ることができます。
ボリュームの最初のマッピング(つまり〜/ Desktop ...)を削除すると、モジュールはディレクトリ内で抽出されますが、マッピングは行われません。
主な目的は、/ var/www/html/sites/all/modulesにある{drupal-module}フォルダを抽出し、同じフォルダをホストディレクトリにマッピングすることです。
助けてください!
両方を同じディレクトリで実行することはできません。マウントされたホストボリュームは、常にコンテナー内のものを上書きします。 – Matt
これを行うための代替オプションは何ですか?つまり、ホストからdrupal_moduleフォルダ...を使用してmodulesディレクトリにアクセスするにはどうすればよいですか? –
私は名前付きボリュームでそれをやった! –