Rumah >pangkalan data >Redis >Bagaimanakah saya menggunakan Docker untuk membongkar redis?
Untuk menggunakan Docker untuk membekalkan Redis, anda akan mengikuti beberapa langkah yang melibatkan membuat imej Docker untuk Redis dan kemudian menjalankannya dalam bekas. Containerizing Redis menggunakan Docker membolehkan anda menjalankan Redis dalam persekitaran terpencil yang boleh dengan mudah digunakan dan diuruskan. Berikut adalah langkah asas yang harus anda ikuti:
Tarik imej Redis rasmi : Docker Hub menawarkan imej Redis rasmi yang boleh anda gunakan. Anda boleh menarik imej ini menggunakan Docker CLI:
<code class="sh">docker pull redis</code>
Jalankan bekas Redis : Sebaik sahaja anda mempunyai imej, anda boleh menjalankan bekas Redis menggunakan:
<code class="sh">docker run --name my-redis-container -d redis</code>
Perintah ini memulakan bekas baru dari imej Redis dan menamakannya my-redis-container
.
Sambung ke contoh Redis : Anda boleh menyambung ke contoh Redis dari bekas lain atau mesin hos anda. Sebagai contoh, jika anda berada di mesin tuan rumah, anda boleh menggunakan redis-cli
:
<code class="sh">docker exec -it my-redis-container redis-cli</code>
Mengurus bekas Redis : Anda boleh menguruskan bekas menggunakan pelbagai arahan Docker, seperti berhenti, memulakan, atau mengeluarkan bekas:
<code class="sh">docker stop my-redis-container docker start my-redis-container docker rm my-redis-container</code>
Dengan mengikuti langkah -langkah ini, anda boleh dengan berkesan membekalkan Redis menggunakan Docker, yang menyediakan cara yang konsisten dan mudah alih untuk menjalankan Redis.
Mewujudkan imej Docker untuk Redis melibatkan membina fail docker yang mentakrifkan persekitaran dan kebergantungan untuk Redis. Berikut adalah langkah untuk membuat imej Docker tersuai untuk Redis:
Buat Dockerfile : Tulis Dockerfile
dengan arahan yang diperlukan untuk menubuhkan persekitaran Redis. Dockerfile
asas untuk Redis mungkin kelihatan seperti ini:
<code class="Dockerfile">FROM ubuntu:20.04 RUN apt-get update && apt-get install -y redis-server EXPOSE 6379 CMD ["redis-server"]</code>
Bina imej Docker : Letakkan Dockerfile
dalam direktori kosong dan jalankan arahan berikut dari direktori itu untuk membina imej:
<code class="sh">docker build -t my-redis-image .</code>
Perintah ini mencipta imej Docker bernama my-redis-image
.
Sahkan imej : Anda boleh menyenaraikan imej pada sistem anda untuk mengesahkan bahawa my-redis-image
telah dibuat:
<code class="sh">docker images</code>
Tolak gambar ke pendaftaran (pilihan) : Jika anda ingin berkongsi imej anda atau menggunakannya di seluruh mesin yang berbeza, anda boleh menolaknya ke pendaftaran Docker seperti Hub Docker:
<code class="sh">docker tag my-redis-image your-username/my-redis-image:latest docker push your-username/my-redis-image:latest</code>
Berikutan langkah -langkah ini membolehkan anda membuat imej Docker tersuai untuk Redis, disesuaikan dengan keperluan khusus anda.
Untuk menjalankan Redis dalam bekas Docker, anda perlu menggunakan beberapa arahan Docker tertentu. Berikut adalah arahan penting yang harus anda kenal dengan:
Tarik gambar Redis :
<code class="sh">docker pull redis</code>
Jalankan Redis Container : Mulakan bekas Redis baru dari imej Redis rasmi:
<code class="sh">docker run --name my-redis-container -d redis</code>
Bendera -d
bendera menjalankan bekas dalam mod berkembar, dan --name
memberikan nama kepada bekas.
Semak status kontena : Untuk memastikan bahawa bekas sedang berjalan, anda boleh menggunakan:
<code class="sh">docker ps</code>
Akses Redis : Untuk mengakses contoh Redis di dalam bekas, gunakan:
<code class="sh">docker exec -it my-redis-container redis-cli</code>
Perintah ini membuka sesi Redis CLI interaktif dalam bekas.
Hentikan bekas : untuk menghentikan bekas Redis:
<code class="sh">docker stop my-redis-container</code>
Mulakan bekas : Untuk memulakan bekas lagi:
<code class="sh">docker start my-redis-container</code>
Keluarkan bekas : untuk mengeluarkan bekas apabila tidak lagi diperlukan:
<code class="sh">docker rm my-redis-container</code>
Perintah ini menyediakan asas -asas untuk menguruskan bekas Redis dengan Docker.
Memastikan kegigihan data untuk Redis apabila berjalan di dalam bekas Docker adalah penting untuk mengekalkan data merentasi restart atau penggantian kontena. Inilah cara anda dapat mencapai kegigihan data:
Pasang kelantangan : Gunakan jumlah Docker untuk meneruskan data di luar bekas. Anda boleh memasang kelantangan ke direktori data redis semasa menjalankan bekas:
<code class="sh">docker run --name my-redis-container -d -v redis-data:/data redis</code>
Perintah ini memasang redis-data
volume yang dinamakan ke /data
di dalam bekas, di mana Redis menyimpan datanya.
Gunakan direktori hos : Sebagai alternatif, anda boleh menggunakan direktori pada mesin tuan rumah untuk menyimpan data redis:
<code class="sh">docker run --name my-redis-container -d -v /path/on/host:/data redis</code>
Ganti /path/on/host
dengan direktori pada sistem hos anda di mana anda ingin menyimpan data.
Konfigurasikan Redis : Pastikan Redis dikonfigurasi untuk menyimpan data dalam direktori yang dipasang. Anda boleh melakukan ini dengan membuat fail konfigurasi Redis tersuai dan memasangnya ke bekas:
<code class="sh">docker run --name my-redis-container -d -v redis-data:/data -v /path/to/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf</code>
Fail redis.conf
harus menentukan dir /data
untuk memastikan Redis menulis data ke lokasi yang betul.
Backups : Untuk kebolehpercayaan tambahan, anda boleh menyediakan sandaran biasa data REDIS. Anda boleh skrip proses ini untuk menyalin data dari volume atau direktori hos ke lokasi sandaran:
<code class="sh">docker exec my-redis-container cp -R /data /backup/location</code>
Dengan menggunakan kaedah ini, anda dapat memastikan bahawa data REDIS anda tetap berterusan dan selamat walaupun bekas Docker dimulakan semula atau diganti.
Atas ialah kandungan terperinci Bagaimanakah saya menggunakan Docker untuk membongkar redis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!