기간: 10월 7일 19시까지

실습과제 1

<aside> 💡

로컬 환경의 도커를 통해 MySQL 컨테이너를 실행시키고, Spring 프로젝트와 연동하시오.

이미지 만들기!

>docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
...

>docker image ls
REPOSITORY               TAG       IMAGE ID       CREATED         SIZE
mysql                    latest    c757d623b190   2 months ago    586MB

ports도 확인할 수 있다.

>docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=(password) mysql

>docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED              STATUS              PORTS                 NAMES
1912807588dd   mysql     "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp, 33060/tcp   mysql-container

mysql-container에 대해 특별한 network연결이 없었음에도 연결된network가 있네용?

(→ 나중에 알아낸 사실> 이 bridge내트워크는 도커의 기본 네트워크 이였다!)

>docker network inspect bridge
[
    {
        "Name": "bridge",
        "Id": "331a989c18dd44a1d9b776c3ab22228e8bac06865894eb89cad0e865e4130fad",
        "Created": "2024-10-07T07:46:58.507668517Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16",
                    "Gateway": "172.17.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "1912807588dd297ed93ccfb463790a5b651dc57ff319da1f28186721dbb335da": {
                "Name": "mysql-container",
                "EndpointID": "b12d0024c10462a85de0d0032341e4c2a4913e97d1a5a6685cf25983a0193ed7",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Labels": {}
    }
]

이름확인

>docker exec -it (CONTAINER ID) /bin/bash
bash-5.1
# whoami
root

mysql DB 생성

mysql> create database myfirstDB;
Query OK, 1 row affected (0.02 sec)