पर चलाने के लिए संगीतकार (PHP निर्भरता प्रबंधक) प्राप्त करें नोट: मैं अब इस माहौल का उपयोग नहीं करता हूं इसलिए मेरे पास जवाबों का परीक्षण करने और स्वीकार करने का कोई तरीका नहीं है। मुझे माफ कर दो।डॉकर छवि निर्माण
टी एल; डॉ आप मुझे एक डोकर छवि पीएचपी निर्भरता को संभालने के लिए संगीतकार का उपयोग करता है का एक उदाहरण को इंगित कर सकते हैं?
सभी इस पोस्ट में मेरे सवालों का संगीतकार php निर्भरता उपकरणनहींडोकर-संगीतकारअंजीर के उत्तराधिकारी के बारे में कर रहे हैं।
मैं wordpress installed as a composer dependency चलाने के लिए अपनी खुद की डॉकर छवि बनाने की कोशिश कर रहा हूं।
मैं आधार के रूप में डॉकर PHP छवि का उपयोग करके एक डॉकर छवि बनाने पर काम कर रहा हूं और मुझे क्या करना है संगीतकार स्थापित करना और छवि निर्माण समय या छवि निर्माण समय पर एक संगीतकार अद्यतन आदेश चलाएं (पता नहीं अगर दोनों ठीक रहेगा)।
मैं मैन्युअल रूप से सभी चरणों को निष्पादित करके सब कुछ ठीक कर सकता हूं (एक डॉकर छवि चला रहा हूं, इसमें घुसपैठ कर रहा हूं, और प्रत्येक चरण की प्रतिलिपि बनाना और चिपकाना)।
लेकिन जब मैं डॉकरफ़ाइल पर उन सभी चरणों को डालता हूं तो मुझे फ़ाइलों को लिखने के लिए संगीतकार नहीं मिलता है।
मैं कुछ समय के लिए न्यूनतम असफल उदाहरण प्राप्त करने का प्रयास कर रहा हूं लेकिन मुझे जो मिला है वह काफी कम नहीं है।
मेरा परीक्षण
(नीचे प्रासंगिक GitHub रेपोस के लिए लिंक) निम्नलिखित से बना है Dockerfile
NFORMATION ~~~#
# based on
# https://hub.docker.com/r/richarvey/nginx-php-fpm/
# and
# https://hub.docker.com/_/wordpress/
FROM php:7.0.2-apache
MAINTAINER Miquel Adell <[email protected]>
ENV WORDPRESS_VERSION 4.4.1
#~~~ DEPENDENCIES ~~~#
# Add PHP repository to apt source
RUN apt-get update \
&& apt-get install -y \
libpng12-dev \
libjpeg-dev \
curl \
sed \
zlib1g-dev \
&& docker-php-ext-install \
zip \
mysqli
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
#~~~ DIRS ~~~#
WORKDIR /var/www/html/
#~~~ WORDPRESS ~~~#
COPY files/composer.json composer.json
ONBUILD RUN composer update
डोकर-compose.yml
wordpress:
image: miqueladell/composed_wordpress_test
links:
- wordpress_db:mysql
environment:
- VIRTUAL_HOST=miqueladell.dev
- WORDPRESS_DB_NAME=wordpress
ports:
- "80"
wordpress_db:
image: miqueladell/mariadb-utf8mb4
environment:
- MYSQL_ROOT_PASSWORD=password
मेरे परीक्षण निम्नानुसार है
बिल्ड एक छवि Dockerfile युक्त एक निर्देशिका में इस आदेश को क्रियान्वित करने से ऊपर
docker build -t miqueladell/composed_wordpress_test .
(कोई लॉग में त्रुटियों)
चिपकाया चलाकर कि छवि का उपयोग करें एक कंटेनर का निर्माण करने के डॉकर-कंपोज़ युक्त निर्देशिका में निम्न आदेश।YML ऊपर
docker-compose up
(कोई लॉग में त्रुटियों) चल रहा कंटेनर में
बैश चिपकाया यदि फ़ाइलें हैं देखने के लिए सक्षम होने के लिए वहाँ
docker exec -i -t miqueladellv2_wordpress_1 bash
/var की ls/www/html
[email protected]:/var/www/html# ls -al total 12 drwxr-xr-x 2 www-data www-data 4096 Jan 19 10:50 . drwxr-xr-x 5 root root 4096 Jan 19 10:50 .. -rw-r--r-- 1 root root 138 Jan 15 09:18 composer.json
आप चरण 4 में देख सकते हैं कि संगीतकार अद्यतन बिल्कुल नहीं चल रहा है।
मैं एक ही परिणाम के साथ दोनों
RUN composer update
और
ONBUILD RUN composer update
Dockerfile पर
का उपयोग कर की कोशिश की है।
अगर मैं परीक्षण के पिछले चरण 4 के लिए वापस जाओ और मैं मैन्युअल डोकर कंटेनर के बैश शीघ्र पर संगीतकार अद्यतन चलाने मैं:
[email protected]:/var/www/html# composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing johnpbloch/wordpress-core-installer (0.2.1)
Downloading: 100%
- Installing johnpbloch/wordpress (4.4.1)
Downloading: 100%
Writing lock file
Generating autoload files
[email protected]:/var/www/html# ls -al
total 24
drwxr-xr-x 4 www-data www-data 4096 Jan 19 11:12 .
drwxr-xr-x 6 root root 4096 Jan 19 11:12 ..
-rw-r--r-- 1 root root 138 Jan 15 09:18 composer.json
-rw-r--r-- 1 root root 3718 Jan 19 11:12 composer.lock
drwxr-xr-x 4 root root 4096 Jan 19 11:12 vendor
drwxr-xr-x 5 root root 4096 Jan 19 11:12 wordpress
[email protected]:/var/www/html#
जो वास्तव में उत्पादन मैं उम्मीद कर रहा था है चरण 4
मुझे कुछ सलाह पसंद आएगी। धन्यवाद।
GitHub पूर्ण फ़ाइलों
ऑनब्यूल्ड संगीतकार अद्यतन लाइन से ONBUILD को हटाने पर उस पर काम करना प्रतीत होता है उदाहरण ... तो मेरा पिछला प्रश्न गलत है लेकिन समस्या हल हो जाती है –