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


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!

Cara memasang DaVinci Resolve 17 pada Linux

Cara memasang DaVinci Resolve 17 pada Linux

Adakah anda memerlukan editor video bukan linear yang hebat untuk kotak Linux anda? Dapatkan Davinci Resolve 17 bekerja dengan panduan ini!

Bagaimana untuk memuat turun kertas dinding ke desktop Linux dengan Pemuat Turun Kertas Dinding

Bagaimana untuk memuat turun kertas dinding ke desktop Linux dengan Pemuat Turun Kertas Dinding

Wallpaper Downloader ialah pemuat turun dan pengurus kertas dinding Linux yang licin. Ia menyokong kebanyakan persekitaran desktop Linux dan sangat mudah digunakan. Panduan ini

Bagaimana untuk memasang Tuxedo OS pada komputer anda

Bagaimana untuk memasang Tuxedo OS pada komputer anda

Ingin menguji komputer Tuxedo OS by Tuxedo? Ketahui cara untuk mendapatkan versi terkini Tuxedo OS berfungsi pada PC anda.

Bagaimana untuk memasang fail DEB pada Linux

Bagaimana untuk memasang fail DEB pada Linux

Apakah fail DEB? Apa yang anda lakukan dengannya? Ketahui banyak cara anda boleh memasang fail DEB pada PC Linux anda.

Cara bermain Dying Light di Linux

Cara bermain Dying Light di Linux

Dying Light ialah permainan video seram survival 2015 yang dibangunkan oleh Techland dan diterbitkan oleh Warner Bros Interactive Entertainment. Permainan berpusat pada

Cara memasang Neptune Linux pada komputer anda

Cara memasang Neptune Linux pada komputer anda

Neptune menggunakan persekitaran desktop KDE Plasma 5 dan bertujuan untuk menyampaikan OS yang elegan. Begini cara memasang Neptune Linux pada komputer anda.

Cuba desktop berasaskan snap baharu Ubuntu

Cuba desktop berasaskan snap baharu Ubuntu

Ingin mencuba sistem pengendalian desktop berasaskan pakej snap baharu Ubuntu? Ketahui cara mengaturnya pada mesin maya dengan panduan ini.

Cara bermain Undertale di Linux

Cara bermain Undertale di Linux

Undertale ialah RPG indie 2d 2015 yang dibangunkan dan diterbitkan oleh pembangun permainan Toby Fox. Panduan ini akan merangkumi memuat turun dan memasang Undertale pada anda

Cara bermain Total War: THREE KINGDOMS di Linux

Cara bermain Total War: THREE KINGDOMS di Linux

Total War: Three Kingdoms ialah permainan RTS strategi berasaskan giliran yang dibangunkan oleh Creative Assembly. Inilah cara bermain di Linux.