Make permanent docker-compose file

58 sec read

sering kali ketika kita build docker-compose maka file yang sebelumnya kita buat di guest docker akan hilang, maka dari itu kita akan membuat permanent file setiap kita build compose maka akan otomatis tersedia script yang sebelumnya sudah kita buat

katakanlan pada parrent directory kita sudah sediakan script bernama aws-s3.sh

vim aws-s3.sh
#/bin/sh

DATE=$(date +%H-%M-%S).sql
FILE=db-$DATE
USERNAME=$1
PASSWORD=$2
HOST=$3
DATABASE=$4
AWS_SECRET=$5
BUCKET_NAME=$6

mysqldump -u $USERNAME -p$PASSWORD -h $HOST $DATABASE > ~/$FILE && \
        export AWS_ACCESS_KEY_ID=AKIARQ7ZH7UDOPQEGMME && \
        export AWS_SECRET_ACCESS_KEY=$AWS_SECRET && \
        echo "backup local database to AWS S3" && \
        aws s3 cp ~/$FILE s3://$BUCKET_NAME/$FILE

lalu pada bagian docker-compose.yml setting sebagai berikut:

version: '3'
services: 
    jenkins:
        container_name: jenkins
        image: jenkins/jenkins
        ports: 
            - "8080:8080"
        volumes: 
            - "./jenkins_home:/var/jenkins_home"
        networks: 
            - net
    remote_host:
        container_name: remote-host
        image: remote-host
        build: 
            context: centos7
        volumes: 
            - "./aws-s3.sh:/tmp/script.sh"
        networks: 
            - net
    centos1:
        container_name: centos1
        image: centos1
        build: 
            context: OS
        volumes: 
            - "./aws-s3.sh:/tmp/script.sh"
            - "./OS/home/:/home/centos1/"
        networks: 
            - net
    db_host:
        container_name: db
        image: mysql:5.7
        environment: 
            - "MYSQL_ROOT_PASSWORD=12345"
        volumes: 
            - "./db_data:/var/lib/mysql"
        networks: 
            - net
    database:
        container_name: database
        image: mysql:5.7
        environment: 
            - "MYSQL_ROOT_PASSWORD=12345"
        volumes: 
            - "./database_data:/var/lib/mysql"
        networks: 
            - net
networks: 
    net: 

setelah itu tinggal build

sudo docker-compose build
sudo docker-compose up -d

maka ambil contoh kita run di remote-host

sudo docker exec -ti remote-host bash

file script.sh sudah otomatis terupload di /tmp/

Install ansible inside jenkins images

ansible dibutuhkan untuk menjalankan automasi di lingkup Linux OS, jenkins image yang kita build dari awal belum dilengkapi dengan aplikasi ansible, untuk itu kita...
admin
1 min read

Add Credentials Jenkins Account

sementara ini kita sudah build beberapa docker container, yaitu kali ini kita akan menambahkan credentials account centos1, database dan AWS Keys, maka masuk ke...
admin
45 sec read

Play With AWS S3 Console

database merupakan element penting untuk menyimpan data, pada episode kali ini kita akan membuat automation backup dan upload database ke AWS S3, sebelumnya daftar...
admin
1 min read

Leave a Reply

Your email address will not be published. Required fields are marked *