GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Meng-upgrade Docker di CentOS

Docker adalah platform sumber terbuka untuk mengembangkan, mengirim, dan menjalankan aplikasi. Docker v17.12 adalah rilis stabil terbaru pada saat artikel ini ditulis. Ini memberikan kemampuan untuk mengemas dan menjalankan aplikasi dalam lingkungan yang benar-benar terisolasi yang disebut wadah. Kita dapat menjalankan banyak container secara bersamaan pada host yang diberikan. Kontainer ringan dan cepat karena tidak memerlukan hypervisor, tetapi dijalankan langsung di dalam kernel mesin host.

Arsitektur Docker

Docker adalah aplikasi klien-server, di mana klien dan daemon dapat dijalankan pada sistem yang sama atau Anda dapat menghubungkan klien Docker dengan daemon Docker jarak jauh. Klien Docker dan daemon berkomunikasi melalui soket atau RESTful API (Representational State Transfer - transfer stateless melalui HTTP dari halaman web yang berisi file XML yang menyertakan dan menjelaskan konten yang diinginkan).

Komponen utama Docker adalah

  • Docker Daemon :Daemon Docker (dockerd) mendengarkan permintaan Docker API dan mengelola objek Docker seperti gambar, wadah, jaringan, dan volume. Daemon juga dapat berkomunikasi dengan daemon lain untuk mengelola layanan Docker.
  • Docker Client :Klien Docker (docker) adalah cara utama pengguna Docker berinteraksi dengan Docker. Ketika kita menggunakan perintah seperti docker run, docker build dll, klien mengirimkan perintah ini ke docker daemon(dockerd), yang menjalankannya. Perintah buruh pelabuhan menggunakan API Docker. Ia dapat berkomunikasi dengan lebih dari satu daemon.
  • Docker Registry (2.4.1) :Registri Docker menyimpan gambar Docker. Docker Hub dan Docker Cloud adalah registry publik yang dapat digunakan siapa saja. Secara default, Docker dikonfigurasi untuk mencari gambar di Docker Hub. Kami bahkan dapat menyiapkan registrar pribadi untuk gambar kami.

Dalam artikel ini, saya akan menjelaskan bagaimana Anda dapat mengupgrade Docker Anda ke versi terbaru yang tersedia di CentOS 7 dan Fedora 27.

Prasyarat

Untuk menginstal versi Docker CE, kita memerlukan versi CentOS 7. Repositori centos-extras harus diaktifkan. Repositori ini diaktifkan secara default, tetapi jika Anda telah menonaktifkannya, Anda harus mengaktifkannya kembali.

Memperbarui Docker di CentOS 7.4

Untuk memutakhirkan Docker, disarankan untuk menginstal Docker Community Edition (Docker CE) yang akan membantu Anda menginstal, meningkatkan, dan memelihara Docker dengan dukungan dan jaminan yang diperlukan untuk beban kerja khusus Anda. Driver penyimpanan overlay2 direkomendasikan. overlay2 adalah pilihan default untuk Docker CE. Driver penyimpanan mengontrol bagaimana image dan container disimpan dan dikelola di host Docker Anda. Docker mendukung beberapa driver penyimpanan yang berbeda. devicemapper adalah pilihan kami berikutnya, tetapi membutuhkan direct-lvm untuk lingkungan produksi untuk kinerja yang lebih baik.

Mari kita mulai dengan langkah-langkah untuk meningkatkan versi Docker lama Anda.

  • Copot pemasangan versi Docker lama

Paket docker dan docker-engine disebut sebagai paket lama. Jika Anda menjalankan versi lama ini, Anda dapat menghapusnya terlebih dahulu untuk melanjutkan lebih jauh. Jalankan perintah ini untuk menghapus semua jejak buruh pelabuhan dari server Anda.

#yum remove docker docker-common docker-selinux docker-engine

Bahkan jika paket-paket tersebut dihapus dari server, semua konten buruh pelabuhan yang kami perlukan termasuk gambar, wadah, volume, dan jaringan, disimpan di /var/lib/docker/ folder.

  • Instal Docker CE

Anda dapat mengatur repositori Docker terlebih dahulu dan menginstalnya menggunakannya. Ini akan membuat proses instalasi dan upgrade lebih mudah dengan repositori yang sama. Untuk menyiapkan repositori kami, kami memerlukan utilitas yum-config-manager yang disediakan oleh paket yum-utils. Dan seperti yang sudah dibahas sebelumnya, Docker CE lebih memilih driver penyimpanan, disini kita menggunakan devicemapper . Oleh karena itu untuk driver penyimpanan ini, kami membutuhkan paket device-mapper-persistent-data and lvm2 packages ini . Kita dapat menginstal semua prasyarat ini untuk menyiapkan repositori kita menggunakan perintah ini.

#yum install -y yum-utils device-mapper-persistent-data lvm2

Selanjutnya, Anda dapat menggunakan perintah berikut untuk mengaktifkan Repositori Docker yang stabil.

#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce
Loaded plugins: fastestmirror
docker-ce-stable | 2.9 kB 00:00:00 
Loading mirror speeds from cached hostfile
* base: mirrors.coreix.net
* extras: repo.uk.bigstepcloud.com
* updates: mirror.sov.uk.goscomb.net
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 0:17.12.0.ce-1.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Installing:
docker-ce x86_64 17.12.0.ce-1.el7.centos docker-ce-stable 30 M

Transaction Summary
============================================================================================================================================================================================================
Install 1 Package

This step is optional: Repositori tepi dan pengujian juga disertakan dalam file repo ini, ini dinonaktifkan secara default. Jika mau, Anda dapat mengaktifkan file repo itu juga di samping Repo Stabil dan menginstal Edge atau versi uji yang tersedia. Ini dapat dilakukan dengan mengeluarkan perintah berikut di bawah ini:

#yum-config-manager --enable docker-ce-edge
#yum-config-manager --enable docker-ce-test

Setelah mengaktifkan repo ini, perintah install akan mendorong instalasi dari Edge Repo.

# yum install docker-ce
Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Installing:
docker-ce x86_64 18.01.0.ce-1.el7.centos docker-ce-edge 33 M
Installing for dependencies:
libtool-ltdl x86_64 2.4.2-22.el7_3 base 49 k

Transaction Summary
============================================================================================================================================================================================================
Install 1 Package (+1 Dependent package)

Jadi, jika Anda memerlukan versi Stable terbaru, Anda dapat menonaktifkan repo Edge dan Test ini. Anda dapat menggunakan yum-config-manager perintah dengan --disable tandai untuk menonaktifkan repo ini.

Kadang-kadang, masih ada beberapa jejak komponen buruh pelabuhan lama yang ada di server bahkan jika kita menjalankan yum remove perintah seperti pada langkah 1. Selama instalasi, jika ada versi buruh pelabuhan lama yang tersedia, itu akan melaporkan kesalahan seperti di bawah ini:

Transaction check error:
file /usr/bin/docker from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/docker-containerd-shim from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
file /usr/bin/dockerd from install of docker-ce-18.01.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

Saya telah menghapus paket-paket ini secara manual menggunakan perintah yum remove untuk melanjutkan instalasi dengan sukses seperti di bawah ini:

# yum remove docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Removing:
docker-common x86_64 2:1.12.6-68.gitec8512b.el7.centos @extras 4.5 k
Removing for dependencies:
docker-client x86_64 2:1.12.6-68.gitec8512b.el7.centos @extras 11 M

Transaction Summary
============================================================================================================================================================================================================
Remove 1 Package (+1 Dependent package)

Memverifikasi instalasi Docker

Setelah instalasi selesai, Anda dapat memulai dan mengaktifkan layanan buruh pelabuhan dan memverifikasi instalasi dengan menjalankan hello-world gambar.

# systemctl start docker
# systemctl enable docker
# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2018-01-23 06:36:24 UTC; 2s ago
Docs: https://docs.docker.com
Main PID: 30700 (dockerd)
Memory: 23.1M
CGroup: /system.slice/docker.service
├─30700 /usr/bin/dockerd
└─30703 docker-containerd --config /var/run/docker/containerd/containerd.toml

# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:66ef312bbac49c39a89aa9bcc3cb4f3c9e7de3788c944158df3ee0176d32b751
Status: Downloaded newer image for hello-world:latest

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

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://cloud.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/

Memperbarui CE Docker

Anda dapat menggunakan perintah yum upgrade untuk memperbarui versi Docker Anda ke versi stabil terbaru di masa mendatang. Saat ini, server kami sudah terinstal dengan versi Stable Docker terbaru yang tersedia yaitu versi Docker 17.12.

# docker -v
Docker version 17.12.0-ce, build c97c6d6

Sekarang, jika kita perlu memutakhirkan versi stabil saat ini ke versi Edge terbaru yang tersedia, Anda cukup mengaktifkan file repo edge di repositori Docker dan menjalankan perintah yum upgrade seperti di bawah ini:

# yum-config-manager --enable docker-ce-edge
# yum upgrade docker-ce
Dependencies Resolved

============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Updating:
docker-ce x86_64 18.01.0.ce-1.el7.centos docker-ce-edge 33 M

Transaction Summary
============================================================================================================================================================================================================
Upgrade 1 Package

Ini akan menginstal versi Edge terbaru yang tersedia dari repositori. Anda dapat mengkonfirmasi versi Docker setelah instalasi. Silakan lihat dokumentasi ini untuk mempelajari lebih lanjut tentang rilis Stabil dan Edge.

# docker -v
Docker version 18.01.0-ce, build 03596f5

Memperbarui Docker di Fedora 27

Karena Fedora dan CentOS berasal dari RedHat, perintah yang digunakan hampir sama kecuali perbedaan dalam paket Docker. Mirip dengan kasus sebelumnya, di Fedora juga, kita perlu menghapus versi buruh pelabuhan lama yang tersedia dan menginstal Docker Community Edition (Docker CE) untuk kemudahan instalasi dan peningkatan.

Prasyarat

Untuk menginstal Docker, Anda memerlukan versi 64-bit dari Fedora 27 versi terbaru ini

Mari kita mulai dengan langkah-langkah untuk meningkatkan versi Docker lama Anda di Fedora.

  • Copot pemasangan versi Docker lama

Seperti yang telah dibahas sebelumnya, paket docker dan engine docker disebut sebagai paket lama. Anda dapat menghapus paket lama ini dengan perintah di bawah ini:

#dnf remove docker docker-common docker-selinux docker-engine-selinux docker-engine

Bahkan jika, paket-paket tersebut dihapus dari server, semua konten buruh pelabuhan yang kami perlukan termasuk gambar, wadah, volume, dan jaringan, disimpan di folder /var/lib/docker/.

  • Instal Docker CE

Kita perlu mengaktifkan repositori Docker untuk Fedora untuk menginstal versi Docker CE. Untuk mengatur repositori ini, kita memerlukan beberapa perintah untuk mengelola manajer paket dnf. dnf-plugins-core package menyediakan perintah untuk mengelola repositori DNF Anda dari baris perintah. Anda dapat menginstal ini menggunakan perintah di bawah ini:

# dnf -y install dnf-plugins-core

Sekarang, kita dapat menggunakan perintah ini untuk mengaktifkan repositori Stable dan menginstal versi Stable terbaru yang tersedia dari repositori ini menggunakan dnf install perintah.

# dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
Adding repo from: https://download.docker.com/linux/fedora/docker-ce.repo

# dnf install docker-ce
Last metadata expiration check: 0:00:20 ago on Mon 22 Jan 2018 09:43:35 AM UTC.
Dependencies resolved.
============================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================
Installing:
docker-ce x86_64 17.12.0.ce-1.fc27 docker-ce-stable 31 M
Installing dependencies:
container-selinux noarch 2:2.38-1.fc27 updates 36 k
iptables x86_64 1.6.1-4.fc27 fedora 471 k
libnetfilter_conntrack x86_64 1.0.6-4.fc27 fedora 62 k
libnfnetlink x86_64 1.0.1-11.fc27 fedora 31 k
policycoreutils-python-utils x86_64 2.7-1.fc27 fedora 223 k

Transaction Summary
============================================================================================================================================================================================================
Install 6 Packages

Seperti yang dinyatakan sebelumnya, file repo Edge dan Test ada dalam Repositori Docker ini (file docker.repo). Tetapi keduanya dinonaktifkan secara default untuk mengaktifkan tingkat Stabil saja. Jika diperlukan, Anda dapat mengaktifkannya menggunakan perintah berikut:

# dnf config-manager --set-enabled docker-ce-edge
# dnf config-manager --set-enabled docker-ce-test

Tingkatkan Docker CE

Untuk meningkatkan Docker CE Anda, Anda dapat menggunakan dnf -y upgrade . Ini akan meningkatkan ke tingkat Stable terbaru yang tersedia dalam repositori Docker.

# dnf -y upgrade docker-ce

Menutup

Docker telah mempermudah pengembang dan tim operasi untuk membuat dan menerapkan aplikasi dengan cepat. Dengan perusahaan yang merilis pembaruan cepat ke Docker untuk meningkatkan produk dan memenuhi kebutuhan pelanggan, masa depan pasti cerah bagi Docker.


Cent OS
  1. Cara Meningkatkan CentOS 6.10 dari CentOS 6.9-6.0

  2. Cara Meningkatkan CentOS 7.8 dari CentOS 7.7-7.0

  3. Cara memutakhirkan CentOS 7 ke CentOS 8 Linux

  1. Cara Menginstal Docker di CentOS 7 / RHEL 7

  2. Cara Menginstal Docker Di CentOS

  3. Cara Meningkatkan versi Git>=1.7.10 di CentOS 6

  1. Cara Menginstal Docker di CentOS 7

  2. Cara Menginstal Docker Compose di CentOS 7

  3. Cara Meng-upgrade CentOS 7 ke CentOS 8