노트북에 DB Server 안깔고 도커로 MySQL 이미지 받아서 Container 사용하기
Docker
docker
engine (server)
시스템 상의 서비스
client (docker command)
내부 또는 외부의 docker engine으로 명령을 전달
docker hub
github와 같은 사이트
docker image 명령어
# 현재 docker에 있는 image 확인하기
$ docker images
# docker hub에 공유되어 있는 이미지 가져오기
$ docker pull {image_name or container_id}
docker container
# 컨테이너 진입하여 쉘 띄우기
$ docker exec -it {image_name} bash
# 컨테이너 실행
$ docker start {image_name or container_id}
# 컨테이너 실행 중지
$ docker stop {image_name or container_id}
# 컨테이너 전체 정지
$ docker stop $(docker ps -a -q)
# 컨테이너 삭제
$ docker rm {image_name or container_id}
Docker 설치
도커 설치 후 PowerShell 실행
$ docker images
MySQL 이미지 생성 및 컨테이너 실행
docker-compose.yml을 이용한 실행
# file version
version: "3"
# container service
services:
# service name
db:
# mysql:version
image: mysql:8.0.17
container_name: {컨테이너명}
# container access port (external:internal)
ports:
- "3306:3306"
# -e option
environment:
# mysql password
MYSQL_ROOT_PASSWORD: {password}
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
# -v option (dir mount settings)
volumes:
- {local}:/var/lib/mysql
MySQL Container 접근
$ docker exec -it health_eat_db-mysql bash
MySQL 로그인
root@~:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.17 MySQL Community Server - GPL
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>