GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Menginstal dan Menggunakan Docker di CentOS dan Fedora

Docker adalah alat yang memungkinkan Anda membuat, menyebarkan, dan mengelola paket ringan yang berdiri sendiri yang disebut container . Container ini memiliki kode, library, runtime, pengaturan sistem, dan dependensi yang diperlukan untuk menjalankan aplikasi.

Panduan ini mencakup penginstalan Mesin Docker pada berbagai distribusi Linux menggunakan YUM atau DNF manajer paket, termasuk CentOS dan Fedora, serta mendapatkan dan menjalankan image Docker.

Sebelum Anda Mulai

  1. Pastikan Anda memiliki akses baris perintah ke server Linux yang menjalankan distribusi Linux yang didukung. Jika tidak, ikuti panduanMemulai danMenyiapkan dan Mengamankan Instans Komputasi untuk membuat Linode baru.

    Catatan Panduan ini ditulis untuk pengguna non-root. Perintah yang memerlukan hak istimewa yang lebih tinggi diawali dengan sudo . Jika Anda tidak terbiasa dengan sudo perintah, lihat panduan Pengguna dan Grup.
  2. Tinjau panduan Docker berikut untuk mendapatkan pemahaman yang lebih baik tentang Docker, manfaatnya, dan kapan menggunakannya.

    • Pengantar Docker
    • Kapan dan Mengapa Menggunakan Docker

Memasang Mesin Docker

Docker Engine adalah perangkat lunak containerization yang mendasari yang digunakan saat menggunakan container Docker. Petunjuk berikut akan menginstal Docker di CentOS dan Fedora menggunakan YUM pengelola paket.

Distribusi yang didukung: CentOS 7, CentOS 8 (termasuk turunan lain dari RHEL 8 seperti AlmaLinux dan RockyLinux), dan Fedora 32 (dan yang lebih baru)

Catatan Sedangkan YUM pengelola paket telah diganti dengan DNF pada CentOS 8 dan Fedora, yum perintah masih ada sebagai symlink ke DNF. Dengan demikian, petunjuk ini tetap berfungsi sebagaimana mestinya.
  1. Pastikan Docker saat ini tidak diinstal. Output yang menunjukkan bahwa salah satu paket tidak ditemukan dapat diabaikan dengan aman.

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    
  2. Instal yum-utils paket, yang mencakup yum-config-manager . Ini akan secara otomatis menginstal dnf-plugins-core saat menggunakan DNF.

    sudo yum install yum-utils
    
  3. Tambahkan repositori buruh pelabuhan, menggunakan yum-config-manager . Ini secara otomatis memetakan ke dnf config-manager perintah saat menggunakan DNF. Pada perintah berikut, ganti [url] dengan url repositori untuk distribusi Anda:

    sudo yum-config-manager --add-repo [url]
    
    • RHEL/CentOS dan turunannya: https://download.docker.com/linux/centos/docker-ce.repo
    • Fedora 32 dan yang lebih baru: https://download.docker.com/linux/fedora/docker-ce.repo
  4. Instal Mesin Docker dan paket lain yang diperlukan:

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

    Selama langkah ini, Anda mungkin diminta untuk menerima kunci GPG. Sidik jari harus 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 . Verifikasi detail ini dan masukkan y untuk menerima.

Petunjuk instalasi tambahan untuk distribusi ini dapat ditemukan dalam dokumentasi Docker:

  • Instal Mesin Docker di CentOS
  • Instal Mesin Docker di Fedora

Memulai dan Menguji Docker

Setelah Docker Engine diinstal, mulai Docker dan verifikasi semuanya berfungsi dengan menjalankan image uji.

  1. Pastikan server Docker berjalan.

    sudo systemctl start docker
    
  2. Secara opsional, konfigurasikan Docker untuk memulai saat server melakukan booting. Ini direkomendasikan jika Anda ingin menjalankan aplikasi produksi dalam instalasi Docker ini.

    sudo systemctl enable docker
    sudo systemctl enable containerd
    
  3. Pastikan Docker diinstal dengan benar dengan menjalankan image “hello-world”.

    sudo docker run hello-world
    

    Jika berhasil, Docker harus mengunduh dan menjalankan gambar hello-world dan menampilkan pesan sukses. Di antara teks lainnya, output harus menyertakan pesan yang mirip dengan berikut ini:

    Hello from Docker!
    This message shows that your installation appears to be working correctly.

Mengelola Docker dengan Pengguna Non-Root

Secara default, sudo diperlukan untuk menjalankan perintah Docker, tetapi grup baru, yang disebut docker , dibuat selama instalasi. Ketika daemon Docker dimulai, ia membuka soket Unix untuk docker anggota grup.

Sebelum melanjutkan, pastikan Anda memiliki akun pengguna terbatas yang tidak milik grup sudo. Jika Anda belum membuat akun pengguna terbatas, lihat panduan Menyiapkan dan Mengamankan Instans Komputasi atau Pengguna dan Grup Linux untuk petunjuknya.

  1. Masukkan perintah di bawah ini untuk menambahkan pengguna ke docker grup, menggantikan [pengguna] dengan nama akun pengguna terbatas Anda.

    sudo usermod -aG docker [user]
    
  2. Masuk ke sistem sebagai pengguna terbatas.

  3. Pastikan pengguna terbatas dapat menjalankan docker perintah tanpa sudo dengan menjalankan gambar "hello-world" sekali lagi.

    docker run hello-world
    

    Output harus memiliki pesan sukses yang sama seperti output sebelumnya.

Hati-hati buruh pelabuhan group memberikan hak istimewa yang serupa dengan yang dimiliki pengguna root. Tinjau panduan Docker Daemon Attack Surface dalam dokumentasi Docker untuk informasi selengkapnya tentang bagaimana hal itu dapat memengaruhi keamanan sistem. Untuk menjalankan daemon Docker tanpa menggunakan hak akses root, ikuti petunjuk dalam Menjalankan daemon Docker sebagai pengguna non-root (mode Tanpa root).

Menyelesaikan Kesalahan dengan Memuat File Konfigurasi

Jika pengguna telah menjalankan sudo docker perintah sebelum bergabung dengan grup, mereka mungkin disajikan dengan kegagalan memuat file konfigurasi, seperti ini:

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

Masalahnya adalah direktori .docker di direktori home mereka (~/.docker) dibuat dengan izin yang diberikan oleh sudo .

Ada dua kemungkinan perbaikan:

  1. Hapus .docker direktori dari direktori home mereka. Docker akan membuat ulang secara otomatis, tetapi pengaturan khusus apa pun akan hilang.

  2. Ubah izin pada .docker direktori menggunakan perintah:

    sudo chown example_user:example_user /home/example_user/.docker -R
    sudo chmod g+rwx "/home/example_user/.docker" -R
    

Menggunakan Gambar Docker untuk Men-deploy Container

Gambar Docker adalah template yang menyertakan instruksi dan spesifikasi untuk membuat container. Untuk menggunakan Docker, Anda harus terlebih dahulu mendapatkan gambar atau membuatnya sendiri dengan membuat file docker. Untuk informasi selengkapnya, lihat Pengantar Docker.

Gambar Cantuman

Untuk membuat daftar semua gambar di sistem Anda, jalankan perintah berikut. Ini akan menampilkan hello-world gambar yang digunakan pada langkah sebelumnya, serta gambar tambahan yang mungkin telah Anda peroleh.

docker images

Menemukan Gambar

Gambar disimpan di registri Docker, seperti Docker Hub (registri resmi Docker). Anda dapat menelusuri gambar di situs web itu atau menggunakan perintah berikut untuk mencari melalui registri Docker. Pada perintah berikut, ganti [keyword] dengan kata kunci yang ingin Anda telusuri, seperti nginx atau apache .

docker search [keyword]

Mendapatkan Gambar

Setelah Anda menemukan gambar, unduh ke server Anda. Pada perintah berikut, ganti [image] dengan nama gambar yang ingin Anda gunakan.

docker pull [image]

Misalnya, untuk menarik gambar nginx resmi, jalankan:docker pull nginx .

Menjalankan Gambar

Selanjutnya buat container berdasarkan gambar dengan menggunakan docker run memerintah. Sekali lagi, ganti [image] dengan nama gambar yang ingin Anda gunakan.

docker run [image]

Jika gambar belum diunduh dan tersedia di registri Docker, gambar akan secara otomatis ditarik ke server Anda.

Mengelola Container Docker

Mendaftarkan Kontainer

Untuk membuat daftar semua container Docker yang aktif (dan tidak aktif) yang berjalan di sistem Anda, jalankan perintah berikut:

docker ps -a

Outputnya harus menyerupai berikut ini. Contoh keluaran ini menunjukkan hello-world wadah.

CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   PORTS     NAMES
5039168328a5   hello-world   "/hello"   2 hours ago   Exited (0) 2 hours ago             magical_varahamihira

Memulai Container

Mulai wadah Docker dengan perintah berikut, ganti [ID] dengan ID penampung yang sesuai dengan penampung yang ingin Anda mulai:

docker start [ID]

Menghentikan Kontainer

Hentikan wadah Docker dengan perintah berikut, ganti [ID] dengan ID penampung yang sesuai dengan penampung yang ingin Anda hentikan:

docker stop [ID]

Beberapa gambar (seperti hello-world image) secara otomatis berhenti setelah dijalankan. Namun, banyak container lain yang terus berjalan hingga secara eksplisit diperintahkan untuk berhenti, dan Anda mungkin ingin menjalankan container ini di latar belakang. Untuk kasus tersebut, perintah ini dapat berguna.

Menghapus Kontainer

Hapus wadah Docker dengan perintah berikut, ganti [ID] dengan ID penampung yang sesuai dengan penampung yang ingin Anda hapus:

docker rm [ID]

Informasi Lebih Lanjut

Anda mungkin ingin berkonsultasi dengan sumber daya berikut untuk informasi tambahan tentang topik ini. Meskipun ini disediakan dengan harapan dapat bermanfaat, harap perhatikan bahwa kami tidak dapat menjamin keakuratan atau ketepatan waktu materi yang dihosting secara eksternal.

  • Situs web untuk Docker
  • Dokumentasi untuk Docker
  • Situs web untuk containerd

Docker
  1. Menginstal JAVA 8 JDK di CentOS, RedHat dan Fedora

  2. Menginstal PostgreSQL Dan phpPgAdmin Di CentOS

  3. Menginstal dan Menggunakan Docker di Ubuntu dan Debian

  1. Menginstal dan Mengkonfigurasi php 7x di Centos 8

  2. Menginstal dan mengatur Grafana di linux

  3. Menginstal Docker di CentOS 6.6

  1. Cara Menginstal dan Menggunakan Docker Compose di CentOS

  2. Cara Menginstal Docker di CentOS

  3. Cara menginstal buruh pelabuhan di CentOS / RHEL / Fedora