Daftar Isi:

#INSTALL DOCKER BY ARIP BUDIMAN

#install docker di ubuntu

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu  bionic stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl status docker
sudo usermod -aG docker ${USER}

#install UI Phpmyadmin docker

sudo docker run --name pma-ng -e PMA_ARBITRARY=1 -e PMA_PORT=3306 -p 8088:80 -d phpmyadmin/phpmyadmin

#membuat database

sudo docker run --name database-ng -p 3331:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /root/docker_volume/dbng:/var/lib/mysql -d mariadb:10.3 > /dev/null

#import database to docker via terminal

mysql -u root -p your_password database_in_db < /path/data.sql

kalau di docker bisa dengan cara memindahkan filenya terlebih dahulu ke dalam folder container docker misalnya nama containernya database-ng maka pindahkan data.sql ke dalam home yang ada di container database-ng contoh

docker cp data.sql database-ng:/home

file data.sql akan berada di dalam folder container database-ng di folder home

cara import ke mysql docker adalah sebagai berikut:

docker exec -it database-ng bash
mysql -u root -p -h 172.17.0.2 database_in_db < /home/data.sql

jika filenya besar maka ubah inno_db nya jadi off

SET GLOBAL innodb_strict_mode=0;

update restart container docker

docker update --restart unless-stopped database-ng

mengkonekan network ke container

docker network connect epuskesmas_epus database-ng

cek logs container realtime:

docker logs -f nama_container

// example
docker logs -f rabbitmq

delete cache docker

docker builder prune
docker builder prune -f

delete image yang tidak di pakai

docker image prune
  1. Gunakan IP Bridge Docker Host (Linux) Di sistem Linux, Anda bisa menggunakan IP dari Docker bridge (biasanya 172.17.0.1) untuk mengakses host machine.

Langkah: Jalankan perintah ini di host machine untuk mendapatkan IP Docker bridge:

ip addr show docker0

Outputnya akan terlihat seperti ini:

inet 172.17.0.1/16

Gunakan IP ini di dalam aplikasi Laravel Anda sebagai pengganti localhost. Contoh:

http://172.17.0.1:7500

Uji koneksi dari dalam container:

curl http://172.17.0.1:7500

#cara ke 2

mysql -u root -p

set global net_buffer_length=1000000; --Set network buffer length to a large byte number

set global max_allowed_packet=1000000000; --Set maximum allowed packet size to a large byte number

SET foreign_key_checks = 0; --Disable foreign key checking to avoid delays,errors and unwanted behaviour

source file.sql --Import your sql dump file

SET foreign_key_checks = 1; 

#docker compose mariadb & PMA

version: "3.1"

services:
  db:
    image: mariadb:10.6
    container_name: mariadb
    restart: always
    ports:
      - 3331:3306
    volumes:
      - ./mariadb:/var/lib/mysql
    environment:
      MARIADB_ROOT_PASSWORD: urilll22
    networks:
      mariadball:
        ipv4_address: 192.168.0.3

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    restart: always
    tty: true
    ports:
      - 8080:80
    environment:
      - PMA_ARBITRARY=1
    networks:
      mariadball:
        ipv4_address: 192.168.0.10
networks:
  mariadball:
    driver: bridge
    name: mariadball
    ipam:
      config:
        - subnet: 192.168.0.0/24