Sebelumnya saya sudah menunjukkan langkah-langkah instalasi Nexus pada tutorial “Instalasi Nexus di Ubuntu 22.04“. Namun biasanya ada kondisi tertentu yang memaksa kalian supaya suatu aplikasi berjalan sebagai container, baik karena sistem operasi yang digunakan tidak support aplikasi tersebut ataupun dependencies yang tersedia tidak kompatibel dengan aplikasi tersebut atau mungkin saja kalian memilih menggunakan container karena lebih simpel dan tinggal deploy tanpa perlu melakukan instalasi aplikasi dari awal.
Kali ini saya akan menunjukkan cara untuk deploy container Nexus menggunakan aplikasi runtime container Docker. Berikut adalah langkah-langkah untuk melakukan deploy container Nexus menggunakan Docker:
Langkah 1: Instalasi Docker
Sebelum melakukan proses deploy container, pastikan kalian menggunakan sistem operasi berbasis Linux ataupun Macos. Jangan menggunakan Docker Desktop di Windows karena kernelnya berbeda dengan kernel Linux. Pada dasarnya container menggunakan kernel yang digunakan pada sistem operasi bare metal hostnya, jadi kalian tidak bisa menjalankan container dengan sistem operasi Linux pada Docker Desktop Windows.
- Lakukan instalasi Docker sesuai dengan panduan pada link https://docs.docker.com/engine/install/
- Cek versi Docker:
# docker -v Docker version 23.0.1, build a5ee5b1
Langkah 2: Deploy Nexus Container
- Deploy Nexus Container:
- Port expose (Port yang bisa diakses melalui IP address host Docker): 8081
- Volume (Nama volume supaya data container bisa di keep walaupun container dalam kondisi stopped atau dihapus): nexus-work
- Nama container: Nexus
- Nama container image: sonatype/nexus3
-
# docker run -d -p 8081:8081 -v nexus-work:/nexus-data --name nexus sonatype/nexus3
- Cek container dan pastikan statusnya up
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES da06b74b00b8 sonatype/nexus3 "/opt/sonatype/nexus…" 5 seconds ago Up 4 seconds 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp nexus
- Cek persistent volume container untuk menyimpan data container
# docker volume ls DRIVER VOLUME NAME local nexus-work # ls -1 /var/lib/docker/volumes/ backingFsBlockDev metadata.db nexus-work
Catatan: Kalian bisa cek juga available argument perintah untuk deploy container Nexus dari link https://hub.docker.com/r/sonatype/nexus3
Testing
- Akses webui Nexus Repository Manager melalui web browser menggunakan IP address host Docker port 8081
- Cek initial password admin:
# docker exec -it nexus bash -c "cat /nexus-data/admin.password"; echo "" b5ef27a7-80ef-4464-a8e3-7fcfd96bfa5c
- Sign in menggunakan username admin dan initial password
- Masukan password akun admin yang baru
- Disable anonymous access
- Finish