Bagaimana Cara Menginstal Docker Container di Linux? (Ubuntu dan CentOS)
Diterbitkan: 2019-08-01 Docker tidak diragukan lagi adalah Container Management Platform
Terbaik untuk kebutuhan proyek Perusahaan dan/atau Pribadi Anda.
Mengapa kita membutuhkan Docker?
Pertimbangkan skenario sederhana ini untuk proyek Anda.
- Anda memiliki aplikasi Java Enterprise yang kompleks dengan lebih dari 50 dependensi pakar.
- Anda memiliki lebih sedikit ketergantungan layanan lokal.
- Anda memiliki instance Database Anda sendiri yang berjalan secara lokal.
- Anda memiliki lebih dari 10 skrip shell khusus yang diperlukan untuk mengatur lingkungan Anda.
- Anda memiliki ~5 variabel lingkungan.
- Anda memiliki ~5 skrip startup otomatis.
- Dan seterusnya…
Nah, ketika Anda ingin mengirimkan semua hal di atas ke pelanggan Anda, itu banyak langkahnya. bukan?
Di situlah Docker muncul.
Kesederhanaan:
Bagaimana dengan membangun dan merakit semua hal di atas dalam single docker image
dan mengirimkan gambar itu ke pelanggan Anda? Ini hanya single step install
untuk klien Anda dan get ready within few minutes
.
Dalam tutorial ini kita akan membahas langkah-langkah tentang cara install Docker on Linux
dan semua langkah yang diperlukan.
Mari kita mulai:
Langkah 1. Masuk ke host Linux dan periksa prasyarat
Docker hadir dalam 3 rasa:
- Mesin Docker – Komunitas
- Mesin Docker – Perusahaan
- Perusahaan Docker
Dalam tutorial ini kita akan membahas langkah-langkah menginstal Docker Community Edition
.
1.1) Masuk ke host Linux Anda.
Saya menggunakan tetesan Digital Ocean sebagai Host linux saya.
1 2 3 |
bash - 3.2 $ ssh root @ 45.56.94.4 root @ 45.56.94.4 ' s password : Welcome to Ubuntu 19.04 ( GNU / Linux 5.0.0 - 13 - generic x86_64 ) |
1.2) Periksa Arsitektur OS Linux:
Anda membutuhkan arsitektur 64-bit
.
1 2 3 |
root @ localhost : ~ # arch x86_64 |
1.3) Periksa Tingkat Kernel OS Linux:
Tingkat Kernel harus lebih besar dari 3.0.
1 2 3 |
root @ localhost : ~ # uname -r 5.0.0 - 13 - generic |
Langkah 2. Instal Edisi Komunitas Docker
2.1) Pastikan untuk menambahkan kunci PGP resmi Docker ke sistem Anda.
1 2 3 4 |
root @ localhost : ~ # curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - OK root @ localhost : ~ # |
2.2) Pastikan Anda mendapatkan kunci PGP yang benar:
1 2 3 4 |
root @ localhost : ~ # sudo apt-key fingerprint 0EBFCD88 | grep 5822 Warning : apt - key output should not be parsed ( stdout is not a terminal ) 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 |
2.3) Pastikan untuk menginstal OS Ubuntu Anda ke versi terbaru
Command:
sudo apt-get update
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
root @ localhost : ~ # sudo apt-get update Hit : 1 http : //mirrors.linode.com/ubuntu disco InRelease Get : 2 http : //mirrors.linode.com/ubuntu disco-updates InRelease [97.5 kB] Get : 3 http : //mirrors.linode.com/ubuntu disco-backports InRelease [88.8 kB] Hit : 4 https : //download.docker.com/linux/ubuntu disco InRelease Get : 5 http : //mirrors.linode.com/ubuntu disco-updates/main amd64 Packages [226 kB] Get : 6 http : //security.ubuntu.com/ubuntu disco-security InRelease [97.5 kB] Get : 7 http : //mirrors.linode.com/ubuntu disco-updates/main i386 Packages [194 kB] Get : 8 http : //mirrors.linode.com/ubuntu disco-updates/universe i386 Packages [252 kB] Get : 9 http : //mirrors.linode.com/ubuntu disco-updates/universe amd64 Packages [254 kB] Get : 10 http : //mirrors.linode.com/ubuntu disco-updates/universe Translation-en [80.1 kB] Get : 11 http : //security.ubuntu.com/ubuntu disco-security/main i386 Packages [144 kB] Get : 12 http : //security.ubuntu.com/ubuntu disco-security/main amd64 Packages [173 kB] Get : 13 http : //security.ubuntu.com/ubuntu disco-security/universe amd64 Packages [220 kB] Get : 14 http : //security.ubuntu.com/ubuntu disco-security/universe i386 Packages [217 kB] Get : 15 http : //security.ubuntu.com/ubuntu disco-security/universe Translation-en [55.4 kB] Fetched 2 , 098 kB in 2s ( 1 , 188 kB / s ) Reading package lists . . . Done |
2.4) Siapkan Repositori Docker stabil terbaru
Command:
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
1 2 3 4 5 6 7 8 |
root @ localhost : ~ # sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" Hit : 1 http : //mirrors.linode.com/ubuntu disco InRelease Hit : 2 http : //mirrors.linode.com/ubuntu disco-updates InRelease Hit : 3 http : //mirrors.linode.com/ubuntu disco-backports InRelease Hit : 4 https : //download.docker.com/linux/ubuntu disco InRelease Hit : 5 http : //security.ubuntu.com/ubuntu disco-security InRelease Reading package lists . . . Done |
2.5) Instal Docker
Command:
sudo apt-get install docker-ce
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
root @ localhost : ~ # sudo apt-get install docker-ce Reading package lists . . . Done Building dependency tree Reading state information . . . Done The following packages were automatically installed and are no longer required : bridge - utils dns - root - data dnsmasq - base ubuntu - fan Use 'sudo apt autoremove' to remove them . The following additional packages will be installed : aufs - tools containerd . io docker - ce - cli libltdl7 The following packages will be REMOVED : containerd docker . io runc The following NEW packages will be installed : aufs - tools containerd . io docker - ce docker - ce - cli libltdl7 0 upgraded , 5 newly installed , 3 to remove and 101 not upgraded . Need to get 87.9 MB of archives . After this operation , 133 MB of additional disk space will be used . Do you want to continue ? [ Y / n ] Y Get : 1 http : //mirrors.linode.com/ubuntu disco/universe amd64 aufs-tools amd64 1:4.9+20170918-2 [104 kB] Get : 2 http : //mirrors.linode.com/ubuntu disco/main amd64 libltdl7 amd64 2.4.6-10 [38.3 kB] Get : 3 https : //download.docker.com/linux/ubuntu disco/stable amd64 containerd.io amd64 1.2.6-3 [22.6 MB] Get : 4 https : //download.docker.com/linux/ubuntu disco/stable amd64 docker-ce-cli amd64 5:19.03.1~3-0~ubuntu-disco [42.5 MB] Get : 5 https : //download.docker.com/linux/ubuntu disco/stable amd64 docker-ce amd64 5:19.03.1~3-0~ubuntu-disco [22.7 MB] Fetched 87.9 MB in 3s ( 34.9 MB / s ) ( Reading database . . . 83080 files and directories currently installed . ) Removing docker . io ( 18.09.5 - 0ubuntu1 ) . . . '/usr/share/docker.io/contrib/nuke-graph-directory.sh' - > '/var/lib/docker/nuke-graph-directory.sh' Removing containerd ( 1.2.6 - 0ubuntu1 ) . . . Removing runc ( 1.0.0 ~ rc7 + git20190403 . 029124da - 0ubuntu1 ) . . . Selecting previously unselected package aufs - tools . ( Reading database . . . 82836 files and directories currently installed . ) Preparing to unpack . . . / aufs - tools_1 % 3a4.9 + 20170918 - 2_amd64.deb . . . Unpacking aufs - tools ( 1 : 4.9 + 20170918 - 2 ) . . . Selecting previously unselected package containerd . io . Preparing to unpack . . . / containerd . io_1 . 2.6 - 3_amd64.deb . . . Unpacking containerd . io ( 1.2.6 - 3 ) . . . Selecting previously unselected package docker - ce - cli . Preparing to unpack . . . / docker - ce - cli_5 % 3a19.03.1 ~ 3 - 0 ~ ubuntu - disco_amd64 . deb . . . Unpacking docker - ce - cli ( 5 : 19.03.1 ~ 3 - 0 ~ ubuntu - disco ) . . . Selecting previously unselected package docker - ce . Preparing to unpack . . . / docker - ce_5 % 3a19.03.1 ~ 3 - 0 ~ ubuntu - disco_amd64 . deb . . . Unpacking docker - ce ( 5 : 19.03.1 ~ 3 - 0 ~ ubuntu - disco ) . . . Selecting previously unselected package libltdl7 : amd64 . Preparing to unpack . . . / libltdl7_2 . 4.6 - 10_amd64.deb . . . Unpacking libltdl7 : amd64 ( 2.4.6 - 10 ) . . . Setting up aufs - tools ( 1 : 4.9 + 20170918 - 2 ) . . . Setting up containerd . io ( 1.2.6 - 3 ) . . . Setting up libltdl7 : amd64 ( 2.4.6 - 10 ) . . . Setting up docker - ce - cli ( 5 : 19.03.1 ~ 3 - 0 ~ ubuntu - disco ) . . . Setting up docker - ce ( 5 : 19.03.1 ~ 3 - 0 ~ ubuntu - disco ) . . . Installing new version of config file / etc / init . d / docker . . . Installing new version of config file / etc / init / docker . conf . . . Created symlink / etc / systemd / system / multi - user . target . wants / docker . service → / lib / systemd / system / docker . service . Processing triggers for systemd ( 240 - 6ubuntu5 ) . . . Processing triggers for man - db ( 2.8.5 - 2 ) . . . Processing triggers for libc - bin ( 2.29 - 0ubuntu2 ) . . . |

2.6) Periksa versi Docker
1 2 |
root @ localhost : ~ # docker -v Docker version 19.03.1 , build 74b1e89 |
Langkah-3. Mulai Docker dan jalankan Hello World
3.1) Perintah sederhana untuk menjalankan Docker di Linux
Seperti yang Anda lihat di atas selama instalasi, Docker mendaftarkan dirinya sebagai layanan sistem: /lib/systemd/system/docker.service
.
1 |
root @ localhost : ~ # sudo systemctl start docker |
3.2) Ayo tarik Hello World Docker dan jalankan
Command:
sudo docker menjalankan hello-world
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
root @ localhost : ~ # sudo docker run hello-world Unable to find image 'hello-world:latest' locally latest : Pulling from library / hello - world 1b930d010525 : Pull complete Digest : sha256 : 6540fc08ee6e6b7b63468dc3317e3303aae178cb8a45ed3123180328bcc1d20f 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 : //hub.docker.com/ For more examples and ideas , visit : https : //docs.docker.com/get-started/ root @ localhost : ~ # |
Perintah di atas akan menarik gambar buruh pelabuhan dan Anda akan dapat menjalankan aplikasi Docker Hello World.
Langkah-4. Bagaimana cara memeriksa Gambar/repositori Docker?
Sebelum menjalankan Aplikasi Hello World:
1 2 3 4 5 6 |
root @ localhost : ~ # docker images REPOSITORY TAG IMAGE ID CREATED SIZE keyansoftwares / logviewersvc latest 04612d6a457d 2 months ago 144MB keyansoftwares / logreadagent latest 0385a757deb5 2 months ago 138MB keyansoftwares / logreadagent < none > d75a02abb278 2 months ago 369MB grafana / grafana latest f96bf1723e2a 3 months ago 245MB |
Setelah menjalankan Aplikasi Hello World:
Seperti yang Anda lihat di sini – Anda akan melihat repositori baru hello-world di bawah
1 2 3 4 5 6 7 |
root @ localhost : ~ # docker images REPOSITORY TAG IMAGE ID CREATED SIZE keyansoftwares / logviewersvc latest 04612d6a457d 2 months ago 144MB keyansoftwares / logreadagent latest 0385a757deb5 2 months ago 138MB keyansoftwares / logreadagent < none > d75a02abb278 2 months ago 369MB grafana / grafana latest f96bf1723e2a 3 months ago 245MB hello - world latest fce289e99eb9 7 months ago 1.84kB |
Selamat. Anda sudah siap. Anda telah mengatur lingkungan Linux Anda untuk Docker, Instal Docker dan jalankan Aplikasi Docker 1 Anda juga.
Langkah Ekstra:
Kami menyarankan Anda untuk mengikuti langkah-langkah pasca pemasangan ini.
Bagaimana cara memulai buruh pelabuhan secara otomatis setelah VM reboot?
Command:
sudo systemctl aktifkan buruh pelabuhan
1 2 3 4 |
root @ localhost : ~ # sudo systemctl enable docker Synchronizing state of docker . service with SysV service script with / lib / systemd / systemd - sysv - install . Executing : / lib / systemd / systemd - sysv - install enable docker |
Cukup jalankan perintah di atas dan buruh pelabuhan Anda akan mulai secara otomatis saat berikutnya Anda me-reboot VM/Host.
Beri tahu saya jika Anda menghadapi masalah saat menjalankan perintah di atas dan masalah Docker.
Ingin menginstal Docker di CentOS?
Ganti saja Step-2
di atas dengan langkah-langkah di bawah ini:
1 2 3 4 5 6 7 8 9 |
root @ localhost : ~ # sudo yum install -y yum-utils device-mapper-persistent-data lvm2 root @ localhost : ~ # sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo root @ localhost : ~ # sudo yum install docker-ce docker-ce-cli containerd.io root @ localhost : ~ # sudo systemctl start docker root @ localhost : ~ # sudo docker run hello-world |