Create MYSQL database in docker inside Jenkins

1 min read

kali ini kita akan membuat database mysql server menggunakan docker di dalam jenkins container

sudo docker pull mysql

untuk lebih lengkapnya tentang documentasi bisa kunjungi https://hub.docker.com/_/mysql

edit docker-compose.yml

sudo vim docker-compose.yml
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
        networks: 
            - net
    centos1:
        container_name: centos1
        image: centos1
        build: 
            context: OS
        networks: 
            - net
    db_host:
        container_name: db
        image: mysql:5.7
        environment: 
            - "MYSQL_ROOT_PASSWORD=1234"
        volumes: 
            - "./db_data:/var/lib/mysql"
        networks: 
            - net
networks: 
    net: 
sudo docker-compose up -d
sudo docker ps
sudo docker exec -it db bash
mysql -u root -p

selanjutnya kita akan menginstall mysql client dan awscli di db container

edit DockerFile pada salah satu OS

vim Dockerfile
FROM centos:7
RUN yum -y install openssh-server passwd net-tools nmap
RUN useradd centos1 && \
    echo "1234" | passwd centos1 --stdin && \
    mkdir /home/centos1/.ssh && \
    chmod 700 /home/centos1/.ssh
COPY remote_key.pub /home/centos1/.ssh/authorized_keys
RUN chown centos1:centos1 -R /home/centos1/.ssh && \
    chmod 600 /home/centos1/.ssh/authorized_keys
RUN yum install -y initscripts && \
    /usr/sbin/sshd-keygen
RUN yum install -y mysql
RUN curl -O https://bootstrap.pypa.io/get-pip.py && \
    python get-pip.py && \
    pip install awscli --upgrade
CMD [ "/usr/sbin/sshd", "-D" ]
sudo docker-compose build
sudo docker-compose up -d

langsung kita test apakah aws sudah terinstal di docker guest centos1

sudo docker exec -it centos1 bash
mysql -u root -h db_host -p
MySQL [(none)]> show databases;
MySQL [(none)]> create database test;
MySQL [(none)]> use test;
MySQL [test]> create table info (name varchar(30), lastname varchar(20), age int(3));
MySQL [test]> desc info;
MySQL [test]> insert into info values ('ricardo', 'vanco', 21);
MySQL [test]> select * info;

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

Make permanent docker-compose file

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...
admin
58 sec read

Leave a Reply

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