> 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/docker-hub.md).

# Docker Hub

로그인을 한다.

```
$ docker login
```

로그인 시 `~/.docker/config.json`에 인증정보가 저장되어 로그아웃하기 전까지 로그인 정보가 유지된다.

도커 이미지 이름은 다음과 같은 형태로 구성된다.

```bash
[Registry URL]/[사용자 ID]/[이미지명]:[tag]
```

Registry URL은 기본적으로 도커 허브를 바라보고 있고 사용자 ID를 지정하지 않으면 기본값(library)을 사용다. 따라서 `ubuntu` = `library/ubuntu` = `docker.io/library/ubuntu` 는 모두 동일한  표현이다.

도커의 `tag`명령을 이용 기존에 만든 이미지에 추가로 이름을 지어줄 수 있다.

```bash
$ docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
```

앞에서 만든 `app`이미지에 계정정보와 버전 정보를 추가한다.

```
$ docker tag app dominic2009/donghyunlee00-app:1
```

`dominic2009`라는 ID를 사용하고 이미지 이름을 donghyunlee00-app으로 변경한다. 첫 번째 버전이므로 태그는 1을 사용한다.

`push` 명령을 이용해 도커 허브에 이미지를 전송한다.

```
$ docker push dominic2009/donghyunlee00-app:1
```
