> For the complete documentation index, see [llms.txt](https://donghyunlee.gitbook.io/write-up/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://donghyunlee.gitbook.io/write-up/project/how-to-find-container-platform-escape-bug/docker/run-container.md).

# Run Container

도커를 실행하는 명령은 아래와 같다.

```bash
$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
```

다음은 자주 사용하는 옵션들이다.

![](https://4149640791-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LybinW10qeKqY56a-jw%2F-MG7-fXCVXaS29_j9Qgm%2F-MG7-h0J0XW48ocfvmYJ%2Fimage.png?alt=media\&token=0cc19d37-75cf-46ad-8d29-f3a1dae8f635)

예시로 MySQL 5.7 컨테이너를 실행해본다.

`-e` 옵션을 이용해 환경변수를 설정하고 `--name` 옵션을 이용해 컨테이너에 읽기 어려운 ID 대신 쉬운 이름을 부여한다.

패스워드 없이 루트 계정을 만들기 위해 `MYSQL_ALLOW_EMPTY_PASSWORD` 환경변수를 설정한다. 컨테이너 이름은 mysql로 할당하고 백그라운드 모드로 띄우기 위해 `-d` 옵션을 준다. 포트는 3306포트를 호스트에서 그대로 사용한다.

```bash
$ docker run -d -p 3306:3306 \
    -e MYSQL_ALLOW_EMPTY_PASSWORD=true \
    --name mysql \
    mysql:5.7

$ mysql -h127.0.0.1 -uroot
```

```sql
mysql> show databases;

mysql> quit
```

{% hint style="warning" %}
호스트 OS에 MySQL 클라이언트가 설치되어 있어야 한다.
{% endhint %}
