Pada kali ini saya akan berbagi cara membuat private docker registry menggunakan nexus oss 3.x. Docker Hub adalah original registry untuk semua images kontainer docker yang dapat bersifat publik atau private. Ada juga registry publik lainnya seperti Google Container Registry dan registry lainnnya. Kali ini kita akan membuat docker private registry untuk menyimpan image-image kita di server kita dengan menggunakan Nexus repository manager 3.6.2 yang sudah support docker repo. Keuntungannya ada karena image berada di jaringan lokal kita dapat mengurangi cost dan bandwith, lebih aman, mudah memanage user authentication, dan yang paling penting free.
Pada tutorial kali ini saya menggunakan Centos 7. Masuk ke server yang akan di install Nexus oss sebagai root.
Pastikan selinux kita sudah disabled
nano /etc/sysconfi/selinux SELINUX=disabled
Install Java Runtime Environment
Cek versi java dengan command
$ java -version openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Jika server belum terinstall dapat mengikuti langkah di bawah ini
yum install java-1.8.0-openjdk.i686
Download nexus repository manager versi 3.6.2 (latest) dan extract file tersebut
cd /opt wget http://download.sonatype.com/nexus/3/nexus-3.6.2-01-unix.tar.gz tar xvf nexus-3.6.2-01-unix.tar.gz mv nexus-3.6.2-01 nexus
Set konfigurasi di /opt/nexus/bin/nexus.rc sehingga nexus dapat run sebagai user root
nano /opt/nexus/bin/nexus.rc run_as_user="root"
Untuk run nexus menggunakan systemd sebagai service kita akan membuat file nexus.service di folder /etc/systemd/system/nexus=
nano /etc/systemd/system/nexus.service [Unit] Description=nexus service After=network.target [Service] Type=forking ExecStart=/opt/nexus/bin/nexus start ExecStop=/opt/nexus/bin/nexus stop User=root Restart=on-abort [Install] WantedBy=multi-user.target
Setelah Nexus start kita dapat mengakses melalui browser http://ipserver:8081/
untuk login sebagai admin dapat memasukkan username:admin dan password:admin123
Tambahkan role untuk docker dengan cara memilih menu Roles lalu pilih create role. Isi sesuai dengan gambar dibawah ini. pada privileges ketik docker pada bagian filter lalu blok dan klik icon > sehingga privileges yg disebelah kiri pindah ke sebelah kanan.
Selanjutnya untuk menambah user pilih menu Users, create local user. isi sesuai dengan gambar di bawah ini.
Pilih icon pengaturan lalu ke Repositories dan create repository. Kemudian isi field sesuai dengan gambar di bawah ini. Kita akan menggunakan port 8080 untuk mengakses repo docker yg nantinya kita akan melakukan pull atau push image docker.
Kita harus menginstall terlebih dahulu menginstall service docker di sever kita.
Sekarang kita akan mencoba untuk melakukan push image ke repo docker. Pertama kita harus terlebih dahulu login ke docker nexus.
docker login localhost:8080
Pull image hello world dari docker hub dan kemudian kita push ke docker private kita.
docker images docker pull tutum/hello-world docker tag tutum/hello-world localhost:8080/tutum/hello-world
Mengecek apakah sudah masuk image yang kita push.
docker search localhost:8080/tutum/hello-world
Untuk pull image dapat menggunakan perintah.
docker login localhost:8080
Melihat image yg ada di local
docker images
Sekian tutorial kali ini semoga bermanfaat. Terima kasih... :)
No comments:
Post a Comment