O Docker’ach i Docker Compose można by napisać bardzo wiele, gdyż dają one nieograniczone możliwości. W tym poście skupimy się jednak tylko na pokazaniu w jaki sposób można bardzo szybko uruchomić bazę MySQL w kontenerze.
Dzięki wykorzystaniu wolumenów nie tracimy zmian, które wprowadzimy w bazie. Będą one nadal widoczne po zamknięciu i ponownym uruchomieniu kontenera.
Tworzymy skrypt docker-compose.yml
Tworzymy plik docker-compose.yml. Wewnątrz pliku umieszczamy poniższy kod. Do utoworzenia kontenera użyjemy obrazu “mysql:7.7”.
version: '3' services: mysql-db: image: mysql:5.7 hostname: mysql-db container_name: mysql_db restart: always environment: MYSQL_DATABASE: 'bigdataetl' MYSQL_USER: 'user_bigdataetl' MYSQL_PASSWORD: 'password_bigdataetl' MYSQL_ROOT_PASSWORD: 'password_for_root_user' ports: - '3306:3306' volumes: - my-db-volume:/var/lib/mysql volumes: my-db-volume:
Zapisujemy plik i następnie wystarczy, że uruchomimy poniższą komende będąc w katalogu, gdzie znajduję się utowrzony przez nas wcześniej plik docker-compose.yml.
docker-compose up -d
Po kilku chwilach utworzony zostanie kontener. Możemy teraz sprawdzić status naszego kontenera.
docker-compose ps Name Command State Ports ---------------------------------------------------------------------------------- mysql_db docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp
Teraz możemy sprawdzić połączenie. Ja użyję to tego celu programu DBeaver. Jak widać wszystko działa jak należy! 🙂
