Bagaimana untuk membina imej Docker anda sendiri di Linux

Pernahkah anda mahu membina imej Docker anda sendiri? Ternyata, dengan sesuatu yang dipanggil "Fail Docker," anda boleh. Dalam panduan ini, kami akan membincangkan cara membina imej Docker anda sendiri.

Bagaimana untuk memasang Docker pada Linux

Anda perlu memasang Docker pada pelayan Linux anda sebelum anda cuba membina imej baharu. Syukurlah, docker mudah dipasang pada pelbagai jenis sistem pengendalian Linux. Dalam panduan ini, kami akan menumpukan pada Ubuntu, Debian , Arch Linux, Fedora dan OpenSUSE .

Untuk memasang Docker, buka terminal. Sebaik sahaja ia dibuka, pemasangan sedia untuk dimulakan. Ikut arahan pemasangan yang digariskan di bawah yang sepadan dengan sistem pengendalian Linux yang anda gunakan.

Ubuntu/Debian

Mula-mula anda perlu mengemas kini indeks perisian pada sistem Ubuntu/Debian anda. Untuk melakukan itu, jalankan arahan kemas kini apt di bawah.

kemas kini sudo apt

Anda kini mesti memasang pakej pengangkutan HTTPS untuk memasang melalui HTTPS. Anda juga perlu memasang Curl dan beberapa pakej lain. Pakej ini boleh dipasang dengan arahan apt install .

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Dengan pakej yang dipasang, sudah tiba masanya untuk mendayakan kekunci Docker GPG pada sistem Ubuntu/Debian anda. Kunci ini memastikan bahawa ia adalah selamat untuk memasang pakej pada Ubuntu.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Dengan kekunci GPG didayakan, sudah tiba masanya untuk mendayakan repo Docker. Untuk melakukan ini, laksanakan arahan gema berikut dalam terminal.

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stabil" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Apabila anda telah mendayakan repo Docker, jalankan semula arahan kemas kini apt untuk menyegarkan semula indeks perisian.

kemas kini sudo apt

Akhir sekali, anda boleh memasang pakej Docker yang anda perlukan pada Ubuntu atau Debian.

sudo apt install docker-ce docker-ce-cli containerd.io

Arch Linux

Jika anda menggunakan Arch Linux, anda hanya boleh menjalankan perintah pacman -S dan memasang pakej "docker" untuk membolehkan Docker berfungsi pada sistem anda.

sudo pacman -S docker

Dengan pakej Docker dipasang pada sistem Arch anda, jalankan arahan systemctl berikut untuk mendayakan perisian.

sudo systemctl dayakan docker sudo systemctl mulakan docker

Fedora

Mendapatkan Docker bekerja pada Fedora adalah agak mudah. Untuk memulakan, gunakan arahan pemasangan dnf untuk memasang perisian pada sistem anda.

sudo dnf pasang docker

Setelah pakej dipasang pada sistem Fedora anda, dayakannya dengan systemd.

sudo systemctl dayakan docker sudo systemctl mulakan docker

OpenSUSE

Untuk mendapatkan Docker bekerja pada OpenSUSE, anda mesti menambah repo Docker.

sudo zypper addrepo https://download.docker.com/linux/opensuse/$(awk -F= '/^VERSION_ID/{print $2}' /etc/os-release)/x86_64/stable docker

Seterusnya, muat semula Zypper dan pasang perisian.

sudo zypper refresh

sudo zypper pasang docker-ce

Akhir sekali, dayakan Docker pada sistem anda dengan systemd.

sudo systemctl dayakan docker sudo systemctl mulakan docker

Bagaimana untuk memilih imej asas anda

Setiap imej Docker yang diambil daripada DockerHub dibina dengan imej asas. Jadi, anda perlu memilih imej asas untuk bekas Docker anda. Dalam panduan ini, kami akan menggunakan Ubuntu, kerana ia adalah salah satu OS Linux yang paling serasi.

Dalam panduan ini, kami akan menunjukkan kepada anda contoh cara membina imej Drupal 10 dengan Ubuntu 22.04. Walau bagaimanapun, arahan binaan ini boleh digunakan pada apa sahaja yang anda ingin buat, daripada apl web kepada program Python, dsb.

Untuk memulakan, buka penyunting teks Nano dalam terminal. Anda akan menggunakan Nano untuk membuat fail Docker anda sendiri.

nano -w ~/dockerfile

Di dalam penyunting teks Nano, masukkan kod berikut untuk menentukan anda ingin menggunakan Ubuntu. Untuk mendapatkan Ubuntu 22.04, nyatakan ia. Jika anda ingin menggunakan keluaran Ubuntu yang berbeza, maklumat boleh didapati di sini .

# Use the official Ubuntu base image
FROM ubuntu:22.04

Bagaimana untuk menyediakan direktori kerja

Anda mesti menyediakan direktori kerja dalam bekas Docker anda. Direktori kerja ialah tempat aplikasi digunakan pada Ubuntu dalam bekas. Dalam contoh ini, kami akan bekerja dengan Drupal 10. Drupal ialah aplikasi web, jadi kami perlu menetapkan WORKDIR sebagai /var/www/html/.

Dalam penyunting teks Nano, tekan kekunci Enter untuk membuat ruang. Kemudian, tampal kod berikut.

# Set the working directory in the container WORKDIR /var/www/html

Bagaimana untuk memasang kebergantungan program

Aplikasi yang anda gunakan dalam imej Docker anda perlu memenuhi kebergantungannya. Jika kebergantungan yang betul tidak dipasang ke dalam imej, ia tidak akan berfungsi. Kami mencipta imej Drupal 10 berdasarkan Ubuntu 22.04, jadi kami mesti menambah semua kebergantungan Drupal 10 pada fail.

Dalam penyunting teks Nano, tekan kekunci Enter untuk membuat ruang. Kemudian, tampal kod berikut.

# Install dependencies RUN apt-get update && apt-get install -y \ apache2 \ php \ libapache2-mod-php \ php-curl \ php-gd \ php-intl \ php-mbstring \ php-mysql \ php-pgsql \ php-xml \ php-zip \ unzip

Bagaimana untuk menyalin kod program

Langkah seterusnya dalam proses ini ialah menyediakan fail Docker anda dengan kod program. Sekali lagi, kami menggunakan Drupal 10 sebagai contoh. Jadi, kami mesti menyediakan Dockerfile dengan cara untuk memuat turun dan mengekstrak Drupal 10.

Dalam penyunting teks Nano, tekan kekunci Enter untuk mencipta baris baharu. Kemudian, tambahkan kod berikut supaya Dockerfile anda boleh memuat turun Drupal 10.

# Download and install Drupal RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \ tar -xvf drupal-10.2.tar.gz && \ mv drupal-10.2 .

Bagaimana untuk mendedahkan port

Setiap kali anda menggunakan bekas Docker, ia mengakses port. Sebagai contoh, jika anda menjalankan bekas Syncthing lalai, ia mendedahkan port 8384. Nextcloud? Port 8080 dan 80. Bekas anda perlu mendedahkan port yang betul untuk berfungsi dengan betul.

Mula-mula, tentukan port apa yang diperlukan oleh program yang anda gunakan. Dalam contoh ini, kami menggunakan Drupal 10. Memandangkan Drupal 10 ialah sistem CMS untuk pelayan web, ia memerlukan port 80. Jadi, dalam fail teks Nano, kami mendedahkan port 80.

# Expose the Drupal port EXPOSE 80

Bagaimana untuk menetapkan arahan lalai

Anda perlu menetapkan arahan lalai dalam Dockerfile anda supaya apabila imej anda dibina dan digunakan, ia mula menjalankan program secara automatik. Dalam contoh kami, kami mahu Drupal 10 bermula serta-merta sebaik sahaja bekas itu digunakan, jadi kami perlu menambah arahan pelancaran pada Dockerfile.

Dalam penyunting teks Nano, tekan Enter untuk mencipta ruang baharu dalam fail. Kemudian, tampal kod berikut.

# Start Apache in the foreground CMD ["apache2ctl", "-D", "FOREGROUND"]

Apabila anda telah menambahkan bit terakhir ini pada fail, simpannya dengan menekan Ctrl + O , dan keluar dari penyunting teks Nano dengan Ctrl + X . Fail Docker sepatutnya kelihatan seperti kod di bawah.

Nota: ini adalah contoh Dockerfile. Anda boleh menggunakan contoh Drupal sebagai rujukan untuk mencipta sendiri untuk mana-mana aplikasi yang anda inginkan.

FROM ubuntu:22.04

# Set the working directory
WORKDIR /var/www/html

# Install dependencies
RUN apt-get update && apt-get install -y \
apache2 \
php \
libapache2-mod-php \
php-curl \
php-gd \
php-intl \
php-mbstring \
php-mysql \
php-pgsql \
php-xml \
php-zip \
unzip


# Download and install Drupal
RUN wget https://ftp.drupal.org/files/projects/drupal-10.2.tar.gz && \
tar -xvf drupal-10.2.tar.gz && \
mv drupal-10.2 .


# Expose the Drupal port
EXPOSE 80

# Start Apache in the foreground
CMD ["apache2ctl", "-D", "FOREGROUND"]

Bagaimana untuk membina imej

Untuk membina imej Docker baharu anda dengan Dockerfile yang telah anda buat, masukkan arahan binaan docker berikut .

sudo docker build -t my-docker-image .

Perintah di atas akan membina imej Docker anda.

Bagaimana untuk menggunakan imej

Untuk menggunakan imej baharu anda dalam bekas, anda perlu menggunakan arahan docker run . Sebagai contoh, untuk menjalankan imej Ubuntu Drupal 10 yang baru dibina pada port 80, lakukan perkara berikut.

sudo docker run -d --name my-drupal-container -p 80:80 my-docker-image

Leave a Comment

Mp3 Diags: Selesaikan Sehingga 50 Masalah Dengan Fail Audio Mp3

Mp3 Diags: Selesaikan Sehingga 50 Masalah Dengan Fail Audio Mp3

MP3 Diags ialah alat muktamad untuk menyelesaikan masalah dalam koleksi audio muzik anda. Ia boleh menandai fail mp3 anda dengan betul, menambah seni kulit album yang hilang, membetulkan VBR

Apl Pemberitahuan Desktop Google Voice

Apl Pemberitahuan Desktop Google Voice

Sama seperti Google Wave, Google Voice telah menghasilkan buzz yang agak ramai di seluruh dunia. Google menyasarkan untuk mengubah cara kita berkomunikasi dan sejak ia menjadi

Muat turun Kegemaran Flickr Dengan FlickrFaves

Muat turun Kegemaran Flickr Dengan FlickrFaves

Terdapat banyak alat yang membolehkan pengguna Flickr memuat turun foto mereka dalam kualiti yang tinggi, tetapi adakah terdapat cara untuk memuat turun Kegemaran Flickr? Baru-baru ini kami datang

OK Sampler Adalah Perisian Sampler Muzik Percuma

OK Sampler Adalah Perisian Sampler Muzik Percuma

Apakah Persampelan? Menurut Wikipedia, "Ia adalah tindakan mengambil sebahagian, atau sampel, satu rakaman bunyi dan menggunakannya semula sebagai instrumen atau

Sandaran Tapak Google: Import/Eksport

Sandaran Tapak Google: Import/Eksport

Tapak Google ialah perkhidmatan daripada Google yang membenarkan pengguna mengehos tapak web pada pelayan Google. Tetapi ada satu masalah, tidak ada pilihan bina dalam untuk membuat sandaran

Aplikasi Desktop Google Tasks

Aplikasi Desktop Google Tasks

Tugasan Google tidak begitu popular seperti perkhidmatan Google yang lain seperti Kalendar, Gelombang, Suara, dll tetapi ia masih digunakan secara meluas dan merupakan sebahagian daripada orang ramai.

Bagaimana Untuk Memulihkan Sekatan Yang Hilang Dan Data Cakera Keras [Panduan]

Bagaimana Untuk Memulihkan Sekatan Yang Hilang Dan Data Cakera Keras [Panduan]

Dalam panduan kami sebelum ini tentang mengelap cakera keras dan media boleh tanggal dengan selamat melalui Ubuntu Live dan CD but DBAN, kami membincangkan cakera berasaskan Windows

Cara menggunakan Dash to Panel untuk menjadikan Gnome Shell kelihatan seperti Windows

Cara menggunakan Dash to Panel untuk menjadikan Gnome Shell kelihatan seperti Windows

Panduan lengkap cara menggunakan Dash to Panel untuk memberikan interface Gnome Shell seperti Windows dengan langkah-langkah mudah.

Cara memasang Kali Linux terkini

Cara memasang Kali Linux terkini

Kali Linux ialah pengedaran Linux ujian keselamatan dan penembusan terkemuka. Ia digunakan oleh beribu-ribu profesional untuk mencari kelemahan keselamatan

Tingkatkan papan keratan Gnome Shell dengan Pano

Tingkatkan papan keratan Gnome Shell dengan Pano

Mari kita hadapi itu, papan keratan Gnome Shell lalai tidak begitu baik. Pasang Pano untuk menambah baik pengalaman papan keratan anda!