GNU/Linux >> Belajar Linux >  >> Linux

Cara Dockerize Aplikasi Python Dengan Miniconda

Python adalah bahasa pemrograman tujuan umum yang populer digunakan untuk berbagai macam aplikasi. Ini digunakan oleh pengembang perangkat lunak sebagai bahasa dukungan untuk kontrol dan manajemen build, pengujian, dan tujuan lainnya.

Docker adalah platform kemas sumber terbuka yang memungkinkan Anda menjalankan aplikasi dalam wadah ringan. Dengan cara ini aplikasi Anda berjalan dengan cara yang persis sama seperti yang akan dilakukan dalam produksi menggunakan sistem operasi yang sama.

Dalam posting ini, kami akan menunjukkan kepada Anda cara melakukan dockerize aplikasi Python dengan Miniconda di CentOS 8.

Prasyarat

  • Server CentOS 8 baru di Atlantic.Net Cloud Platform
  • Kata sandi root yang dikonfigurasi di server Anda

Langkah 1 – Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih CentOS 8 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server CentOS 8 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

dnf update -y

Langkah 2 – Instal Docker CE

Anda dapat menambahkannya dengan perintah berikut:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Setelah repo dibuat, jalankan perintah berikut untuk menginstal Docker CE di sistem Anda.

dnf install docker-ce --nobest

Setelah instalasi selesai, mulai layanan Docker dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:

systemctl start docker
systemctl enable docker

Selanjutnya, verifikasi versi Docker yang terinstal dengan perintah berikut:

docker --version

Anda akan mendapatkan output berikut:

Docker version 20.10.5, build 55c4c88

Langkah 3 – Buat File Docker untuk Menerapkan Aplikasi Python

Di bagian ini, kita akan membuat direktori untuk proyek Python dan membuat Dockerfile dengan semua informasi yang diperlukan untuk menerapkan aplikasi Python.

Pertama, buat direktori dengan perintah berikut:

mkdir project

Selanjutnya, ubah direktori menjadi project dan buat Dockerfile dengan perintah berikut:

cd project
nano Dockerfile

Tambahkan baris berikut:

FROM python:slim
RUN apt-get update && apt-get -y upgrade \
  && apt-get install -y --no-install-recommends \
    git \
    wget \
    g++ \
    ca-certificates \
    && rm -rf /var/lib/apt/lists/*
ENV PATH="/root/miniconda3/bin:${PATH}"
ARG PATH="/root/miniconda3/bin:${PATH}"
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
    && mkdir /root/.conda \
    && bash Miniconda3-latest-Linux-x86_64.sh -b \
    && rm -f Miniconda3-latest-Linux-x86_64.sh \
    && echo "Running $(conda --version)" && \
    conda init bash && \
    . /root/.bashrc && \
    conda update conda && \
    conda create -n python-app && \
    conda activate python-app && \
    conda install python=3.6 pip && \
    echo 'print("Hello World!")' > python-app.py
RUN echo 'conda activate python-app \n\
alias python-app="python python-app.py"' >> /root/.bashrc
ENTRYPOINT [ "/bin/bash", "-l", "-c" ]
CMD ["python python-app.py"]

Simpan dan tutup file setelah Anda selesai.

File di atas akan mengunduh gambar minimal Python, menginstal Miniconda, membuat lingkungan Python, dan membuat aplikasi Hello World sederhana.

Langkah 4 – Bangun Gambar Aplikasi Python

Sekarang, Anda perlu membuat image menggunakan Dockerfile yang telah kita buat di langkah sebelumnya.

Pertama, ubah direktori menjadi project dengan perintah berikut:

cd project

Selanjutnya, build aplikasi Python dengan menjalankan perintah berikut:

docker build -t python-app .

Anda akan mendapatkan output berikut:

Downloading and Extracting Packages
setuptools-52.0.0    | 724 KB    | ########## | 100% 
certifi-2020.12.5    | 140 KB    | ########## | 100% 
python-3.6.13        | 29.7 MB   | ########## | 100% 
pip-21.0.1           | 1.8 MB    | ########## | 100% 
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
Removing intermediate container 10f97804ad82
 ---> 3662950574f9
Step 6/8 : RUN echo 'conda activate python-app \nalias python-app="python python-app.py"' >> /root/.bashrc
 ---> Running in faab9e188650
Removing intermediate container faab9e188650
 ---> 8ee98d205c5c
Step 7/8 : ENTRYPOINT [ "/bin/bash", "-l", "-c" ]
 ---> Running in 3e74eb8fd8b7
Removing intermediate container 3e74eb8fd8b7
 ---> 6c6d83dfd01f
Step 8/8 : CMD ["python python-app.py"]
 ---> Running in 4d8c066aeefc
Removing intermediate container 4d8c066aeefc
 ---> 78e4f8e7e05e
Successfully built 78e4f8e7e05e
Successfully tagged python-app:latest

Anda sekarang dapat memeriksa gambar yang diunduh dengan perintah berikut:

docker images

Anda akan melihat semua gambar dalam output berikut:

REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
python-app   latest    78e4f8e7e05e   24 seconds ago   907MB
python       slim      ce689abb4f0d   10 days ago      118MB

Langkah 5 – Luncurkan Penampung

Pada titik ini, gambar aplikasi Python sudah siap. Anda sekarang dapat meluncurkan wadah dari gambar python-app dengan perintah berikut:

docker run python-app

Anda akan melihat output dari aplikasi python Anda di output berikut:

Hello World!

Anda juga dapat terhubung ke wadah aplikasi Python dan menjalankan aplikasi.

Untuk melakukannya, jalankan container lagi dengan perintah berikut:

docker run -it python-app /bin/bash

Anda akan terhubung ke wadah python-app seperti yang ditunjukkan di bawah ini:

(python-app) [email protected]:/#

Sekarang, jalankan aplikasi Python Hello World Anda menggunakan perintah berikut:

(python-app) [email protected]:/# python-app

Anda akan mendapatkan output berikut:

Hello World!

Anda juga dapat memverifikasi versi Python Anda menggunakan perintah berikut:

(python-app) [email protected]:/# python --version

Keluaran:

Python 3.6.13 :: Anaconda, Inc.

Anda sekarang dapat keluar dari wadah dengan perintah berikut:

(python-app) [email protected]:/# exit

Kesimpulan

Dalam panduan di atas, Anda telah mempelajari cara melakukan dockerisasi aplikasi Python dengan Miniconda di CentOS 8. Sekarang Anda dapat menerapkan aplikasi Python Anda dalam lingkungan yang ringan dan terkemas di akun hosting VPS Anda dari Atlantic.Net.


Linux
  1. Cara mengemas aplikasi Python untuk Linux

  2. Cara menginstal Python di Linux

  3. Cara memulai aplikasi startup dengan penundaan di Linux

  1. Cara Mengelola Beberapa Versi Python Dengan Pyenv Di Linux

  2. Bagaimana Mengkompilasi dan Menginstal Python dengan Dukungan OpenSSL?

  3. Cara membunuh skrip python dengan skrip bash

  1. Cara Dockerisasi Aplikasi Python Dengan Miniconda [Pendekatan Hybrid]

  2. Bagaimana Kali menangani Akhir Kehidupan Python 2 yang akan datang

  3. Cara menggunakan ekspor dengan Python di Linux