Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Melaksanakan Perintah Satu Kali dalam Docker Compose?

Bagaimana untuk Melaksanakan Perintah Satu Kali dalam Docker Compose?

Susan Sarandon
Susan Sarandonasal
2024-11-16 05:20:03477semak imbas

How to Execute a One-Time Command in Docker Compose?

Melaksanakan Perintah Satu Kali dalam Docker Compose

Dalam konteks Docker compose, anda mencari penyelesaian untuk melaksanakan arahan tertentu ( ./my-project -setup) sekali sahaja, tidak kira bekas dimulakan semula atau penempatan. Keperluan ini timbul untuk situasi yang memerlukan permulaan atau persediaan data.

Untuk menangani isu ini, pertimbangkan untuk melaksanakan skrip titik masuk dalam bekas anda. Skrip ini akan mengendalikan tugas menyemak sama ada pangkalan data telah dimulakan. Jika belum, skrip akan melaksanakan langkah permulaan yang diperlukan.

Adalah penting untuk ambil perhatian bahawa pesanan permulaan kontena tidak dijamin, jadi bekas aplikasi mungkin dimulakan sebelum bekas pangkalan data. Untuk menjelaskan perkara ini, skrip harus menggabungkan logik untuk mengendalikan kejadian sedemikian.

Contoh pendekatan ini boleh didapati dalam imej WordPress rasmi (https://github.com/docker-library/wordpress/blob/df190dc9c5752fd09317d836bd2bdcd09ee379a5/apache/docker-entrypoint.sh#L146-L171). Skrip cuba menyambung ke pangkalan data dan menyemak sama ada pemulaan diperlukan, mencuba semula jika pangkalan data masih belum boleh diakses.

Mengoptimumkan Pengurusan Volume

Dalam karang Docker awal anda fail, anda menggunakan bekas "data sahaja" untuk melampirkan kelantangan anda. Walau bagaimanapun, versi moden Docker (1.9 dan ke atas) menyediakan keupayaan pengurusan volum. Ini menghapuskan keperluan untuk bekas data sahaja yang berasingan.

Anda boleh memudahkan fail karang Docker anda dengan mengalih keluar bekas data sahaja dan mengubah suai perkhidmatan mongo seperti berikut:

mongo:
    image: mongo:latest
    volumes:
      - mongodata:/data/db
    ports:
      - "28001:27017"
    command: --smallfiles --rest --auth

Konfigurasi ini akan mencipta volum bernama mongodata jika ia belum wujud, atau ia akan menggunakan semula volum sedia ada dengan nama itu. Anda boleh mengurus volum menggunakan arahan docker volume ls untuk penyenaraian dan docker volume rm untuk mengalih keluar.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Perintah Satu Kali dalam Docker Compose?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn