A A
[Docker] Docker ๋ช…๋ น์–ด ํ™œ์šฉ Part.2

๋„์ปค ์ด๋ฏธ์ง€ ํƒœ๊ทธ ์„ค์ •๊ณผ ๋„์ปค ๋กœ๊ทธ์ธ ๋ฐ ๋กœ๊ทธ์•„์›ƒ

Docker Login & Logout ๋ถ€๋ถ„๋ถ€ํ„ฐ ์ด์–ด์„œ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋„์ปค ํƒœ๊ทธ(tag)๋Š” ์›๋ณธ ์ด๋ฏธ์ง€์— ์ฐธ์กฐ ์ด๋ฏธ์ง€ ์ด๋ฆ„์„ ๋ถ™์ด๋Š” ๋ช…๋ น์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

docker tag ์›๋ณธ ์ด๋ฏธ์ง€[:ํƒœ๊ทธ] ์ฐธ์กฐ ์ด๋ฏธ์ง€[:ํƒœ๊ทธ]

ํƒœ๊ทธ ์„ค์ •์€ ์ƒˆ๋กœ์šด ์ฐธ์กฐ๋ช…์„ ๋ถ™์ด๋Š” ์ž‘์—…์ด๋ฏ€๋กœ ์ด๋ฏธ์ง€ ID๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Example

  • ์ด๋ฏธ์ง€ ID์— ์„ธ๋ถ€ ์ •๋ณด(OS, ๋ฒ„์ „ ๋“ฑ)๋ฅผ ๋ถ™์—ฌ ํƒœ๊ทธ ์ง€์ •:
toby@tobykakao:~$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
debian       latest    d36fff645336   13 days ago    139MB
nginx        latest    048e09038596   3 weeks ago    197MB
busybox      latest    63cd0d5fb10d   4 weeks ago    4.04MB
httpd        latest    721aa0022a96   3 months ago   178MB

toby@tobykakao:~$ docker image tag b2c2ab6dcf2e debian-httpd:1.0
  • ์ด๋ฏธ์ง€ ์ด๋ฆ„[:ํƒœ๊ทธ]์— ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋ถ™์—ฌ ํƒœ๊ทธ ์ง€์ •:
toby@tobykakao:~$ docker image tag httpd:latest debian-httpd:1.0
toby@tobykakao:~$ docker images
REPOSITORY     TAG       IMAGE ID       CREATED        SIZE
debian         latest    d36fff645336   13 days ago    139MB
nginx          latest    048e09038596   3 weeks ago    197MB
busybox        latest    63cd0d5fb10d   4 weeks ago    4.04MB
debian-httpd   1.0       721aa0022a96   3 months ago   178MB
debian-httpd   2.0       721aa0022a96   3 months ago   178MB
httpd          latest    721aa0022a96   3 months ago   178MB
  • ์ €์žฅ์†Œ์™€ ํ•จ๊ป˜ ํƒœ๊ทธ ์ง€์ •ํ•˜์—ฌ ๋„์ปค ํ—ˆ๋ธŒ์— ์—…๋กœ๋“œ ์ค€๋น„:
toby@tobykakao:~$ docker image tag httpd:latest debian-httpd:2.0
toby@tobykakao:~$ docker images
REPOSITORY     TAG       IMAGE ID       CREATED        SIZE
debian         latest    d36fff645336   13 days ago    139MB
nginx          latest    048e09038596   3 weeks ago    197MB
busybox        latest    63cd0d5fb10d   4 weeks ago    4.04MB
debian-httpd   1.0       721aa0022a96   3 months ago   178MB
debian-httpd   2.0       721aa0022a96   3 months ago   178MB
httpd          latest    721aa0022a96   3 months ago   178MB

  • ๋ณ„์นญ์œผ๋กœ ํƒœ๊ทธ ์„ค์ •
toby@tobykakao:~$ docker image tag httpd:latest daehyunbigbread/httpd:3.0
toby@tobykakao:~$ docker images
REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
debian                  latest    d36fff645336   13 days ago    139MB
nginx                   latest    048e09038596   3 weeks ago    197MB
busybox                 latest    63cd0d5fb10d   4 weeks ago    4.04MB
debian-httpd            1.0       721aa0022a96   3 months ago   178MB
debian-httpd            2.0       721aa0022a96   3 months ago   178MB
httpd                   latest    721aa0022a96   3 months ago   178MB
daehyunbigbread/httpd   3.0       721aa0022a96   3 months ago   178MB

ํ„ฐ๋ฏธ๋„์—์„œ Docker login์„ ํ†ตํ•ด Docker Hub์— ์›๊ฒฉ ์ ‘์†

  • ์ ‘์† ํ•ด์ œ๋Š” docker logout
toby@tobykakao:~$ docker login

USING WEB-BASED LOGIN
To sign in with credentials on the command line, use 'docker login -u '

Your one-time device confirmation code is: NSTQ-GQQW
Press ENTER to open your browser or submit your device code here: <https://login.docker.com/activate>

Waiting for authentication in the browser\\u2026

WARNING! Your password will be stored unencrypted in /home/toby/.docker/config.json.
Configure a credential helper to remove this warning. See
<https://docs.docker.com/engine/reference/commandline/login/#credential-stores>

Login Succeeded
  • Docker hub์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ (push)
toby@tobykakao:~$ docker push daehyunbigbread/httpd:3.0
The push refers to repository [docker.io/daehyunbigbread/httpd]
c3e85bca3483: Mounted from library/httpd 
dd7b9677cc6d: Mounted from library/httpd 
02895f09033b: Mounted from library/httpd 
5f70bf18a086: Mounted from library/httpd 
622b52428873: Mounted from library/httpd 
f0f039847c08: Mounted from library/httpd 
3.0: digest: sha256:83e42f7ecc4f9c56898cab648ab11a4a5d61aa36e0131f636781146815172255 size: 1572
  • Docker hub์— ์ €์žฅ์†Œ์— ์—…๋กœ๋“œ๋œ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ (pull)
toby@tobykakao:~$ docker pull daehyunbigbread/httpd:3.0
3.0: Pulling from daehyunbigbread/httpd
Digest: sha256:83e42f7ecc4f9c56898cab648ab11a4a5d61aa36e0131f636781146815172255
Status: Image is up to date for daehyunbigbread/httpd:3.0
docker.io/daehyunbigbread/httpd:3.0

  • ์ด์ œ Docker Hub์—์„œ ์—…๋กœ๋“œํ•œ ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ๋ณธ์ธ์˜ ๋ฒ ์ด์Šค ์ด๋ฏธ์ง€์— ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„œ๋น„์Šค์™€ ์ฝ”๋“œ ๋“ฑ์„ ํฌํ•จํ•ด ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰ํ•œ ๊ฒฝ์šฐ, docker commit ๋ช…๋ น์„ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ด๋ฏธ์ง€๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ €์žฅ๋œ ์ด๋ฏธ์ง€๋ฅผ ๋ณธ์ธ์˜ ๋„์ปค ํ—ˆ๋ธŒ ์ €์žฅ์†Œ์— ์—…๋กœ๋“œํ•˜๊ณ  ์ง€์†์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜๋„ ์žˆ๊ณ , ํŒ€ ๊ฐ„ ์ด๋ฏธ์ง€ ๊ณต์œ ๋„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋„์ปค ํ—ˆ๋ธŒ ์‚ฌ์ดํŠธ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ €์žฅ์†Œ์— ํ˜ธ์ŠคํŠธ์—์„œ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€ ๋ฐ ๋ณด์œ ํ•˜๊ณ ์ž ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜๋ ค๋ฉด docker login ๋ช…๋ น์„ ํ†ตํ•ด ํ˜ธ์ŠคํŠธ์—์„œ์˜ ์ ‘์†์ด ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. Docker Hub๋ฅผ ์ ‘์†ํ•˜๋Š” ๋ฐฉ์‹์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 2๊ฐ€์ง€ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


1. Docker Login

์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ Docker Login ์ž…๋‹ˆ๋‹ค. ํ•œ๋ฒˆ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ ์‹œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:
  • Username: ๋ณธ์ธ ์•„์ด๋”” ์ž…๋ ฅ
  • Password: ๋ณธ์ธ ์•”ํ˜ธ ์ž…๋ ฅ

๋กœ๊ทธ์ธ์ด ์„ฑ๊ณตํ•˜๋ฉด Login Succeeded ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

toby@tobykakao:~$ docker login
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /home/toby/.docker/config.json.
Configure a credential helper to remove this warning. See
<https://docs.docker.com/engine/reference/commandline/login/#credential-stores>

Login Succeeded

๋กœ๊ทธ์ธ ์ •๋ณด ์ €์žฅ ํ™•์ธ

๋กœ๊ทธ์ธ ์ •๋ณด๋Š” /home/[์‚ฌ์šฉ์ž๋ช…]/.docker/config.json ํŒŒ์ผ์— ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

$ cat ~/.docker/config.json
{
  "auths": {
    "<https://index.docker.io/v1/>": {
      "auth": "aAdgdfgsf3DsaD3SDZwfaMSD87dfs="
    }
  },
  "HttpHeaders": {
    "User-Agent": "Docker-Client/19.03.12 (linux)"
  }
}

ํ˜„์žฌ ์ ‘์† ์‚ฌ์šฉ์ž ์กฐํšŒ

$ docker info | grep Username
Username: [์‚ฌ์šฉ์ž๋ช…]

๋กœ๊ทธ์•„์›ƒ

docker logout์„ ์‹คํ–‰ํ•˜๋ฉด config.json ํŒŒ์ผ์˜ auth ๊ฐ’์ด ์‚ญ์ œ๋˜๋ฉฐ, docker info์—์„œ๋„ ์‚ฌ์šฉ์ž๋ช…์ด ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.


2. Access Token ์ด์šฉ

๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ hub.docker.com ์‚ฌ์ดํŠธ์—์„œ ์ œ๊ณตํ•˜๋Š” Access Token์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  1. hub.docker.com์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ณธ์ธ ๊ณ„์ •์„ ํด๋ฆญํ•˜๋ฉด [Account Setting]์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.
  3. ์ขŒ์ธก ๋ฉ”๋‰ด์ค‘ [Security]๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. [Personal Access Tokens]์˜ [Generate Access Token]์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  • ์ž„์˜์˜ ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ณ  Generate๋ฅผ ๋ˆ„๋ฅด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์ด ์ œ์‹œ๋ฉ๋‹ˆ๋‹ค.
    • 2๋ฒˆ์— Access Token์„ ๋ณต์‚ฌํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ํ•œ๋ฒˆ ๋ณต์‚ฌ๋œ Access Token์„ ํ•œ๋ฒˆ ์‚ฌ์šฉํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
toby@tobykakao:~$ vi .access_token
  • ์•ก์„ธ์Šค ํ† ํฐ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ , ๋ณ„๋„์˜ ์•”ํ˜ธ ์ž…๋ ฅ ์—†์ด ์•ก์„ธ์Šค ํ† ํฐ์„ ์ด์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.
toby@tobykakao:~$ cat .access_token | docker login --username daehyunbigbread --password-stdin
WARNING! Your password will be stored unencrypted in /home/toby/.docker/config.json.
Configure a credential helper to remove this warning. See
<https://docs.docker.com/engine/reference/commandline/login/#credential-stores>

Login Succeeded

  • ์ƒ์„ฑ๋œ Access Token์˜ [Edit]์„ ์„ ํƒํ•ด ๋ณด๋ฉด ๋งˆ์ง€๋ง‰ ์‚ฌ์šฉ ๋ฉ”๋‰ด๊ฐ€ [Active]๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด ๊ฐ’์„ [Inactive]๋กœ ๋ณ€๊ฒฝ ํ›„ ์žฌ์ ‘์†์„ ํ•ด๋ณด๋ฉด ์ ‘์† ๊ฑฐ๋ถ€๋จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
$ docker logout
Removing login credentials for <https://index.docker.io/v1/>

$ cat .access_token | docker login --username daehyunbigbread --password-stdin
Error response from daemon: Get <https://registry-1.docker.io/v2/:> unauthorized: incorrect username or password

๋„์ปค ์ด๋ฏธ์ง€ ํŒŒ์ผ๋กœ ๊ด€๋ฆฌ

docker image save ๋ช…๋ น์€ ๋„์ปค ์›๋ณธ ์ด๋ฏธ์ง€์˜ ๋ ˆ์ด์–ด ๊ตฌ์กฐ๊นŒ์ง€ ํฌํ•จํ•œ ๋ณต์ œ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ํ™•์žฅ์ž tar ํŒŒ์ผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ช…๋ น์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒ์ผ์„ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๋ฌถ๊ฑฐ๋‚˜ ํ’€ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

  • ๋„์ปค ํ—ˆ๋ธŒ๋กœ๋ถ€ํ„ฐ ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›์•„ ๋‚ด๋ถ€๋ง์œผ๋กœ ์ด์ „ํ•˜๋Š” ๊ฒฝ์šฐ
  • ์‹ ๊ทœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋น„์Šค๋ฅผ ์œ„ํ•ด Dockerfile๋กœ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅ ๋ฐ ๋ฐฐํฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
  • ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์™„๋ฃŒ(commit)ํ•˜์—ฌ ์ƒ์„ฑํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅ ๋ฐ ๋ฐฐํฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
  • ๊ฐœ๋ฐœ ๋ฐ ์ˆ˜์ •ํ•œ ์ด๋ฏธ์ง€ ๋“ฑ

๋„คํŠธ์›Œํฌ ์ œํ•œ ๋“ฑ์œผ๋กœ ๋„์ปค ํ—ˆ๋ธŒ๋ฅผ ์ด์šฉํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋ฏธ์ง€ ์ด์ „๊ณผ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ๋กœ์ปฌ์— ์ €์žฅ๋œ ์ด๋ฏธ์ง€๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ tar ํŒŒ์ผ๋กœ ์ €์žฅ
docker image save [์˜ต์…˜] <ํŒŒ์ผ๋ช…> [image๋ช…]

# docker save๋กœ ์ €์žฅํ•œ tar ํŒŒ์ผ์„ ์ด๋ฏธ์ง€๋กœ ๋ถˆ๋Ÿฌ์˜ด
docker image load [์˜ต์…˜]

์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ด์„œ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณผ์ •์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


์˜ˆ์ œ: MySQL ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ, ์ €์žฅ, ํ™•์ธ

  1. MySQL 5.7 ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ ๋ฐ ํ™•์ธ:
toby@tobykakao:~$ docker pull mysql:8
8: Pulling from library/mysql
8b4274ea61c5: Pull complete 
08ba006fa9b4: Pull complete 
92a1aa4ee2ea: Pull complete 
df48654477e3: Pull complete 
a3bc7a62e19a: Pull complete 
46b702880054: Pull complete 
8f3688c019d3: Pull complete 
612ab3e6f2e4: Pull complete 
5b399be0ddb3: Pull complete 
8149d82fe4db: Pull complete 
Digest: sha256:bda6ee1f3ae5ebb3cbe9b995c9645ffbd36d7dbda3bd4b4d2ffa43d997073074
Status: Downloaded newer image for mysql:8
docker.io/library/mysql:8

toby@tobykakao:~$ docker images
REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
debian                  latest    d36fff645336   2 weeks ago    139MB
mysql                   8         07b15f39a8d0   2 weeks ago    600MB
nginx                   latest    048e09038596   4 weeks ago    197MB
busybox                 latest    63cd0d5fb10d   4 weeks ago    4.04MB
daehyunbigbread/httpd   3.0       721aa0022a96   3 months ago   178MB
debian-httpd            2.0       721aa0022a96   3 months ago   178MB
httpd                   latest    721aa0022a96   3 months ago   178MB

  1. ๋‹ค๋ฅธ MySQL ์ด๋ฏธ์ง€ ์‚ฌ์šฉ: arm64๋ฅผ ์ง€์›ํ•˜๋Š” ๋‹ค๋ฅธ MySQL ๊ธฐ๋ฐ˜ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, mariadb๋Š” MySQL๊ณผ ํ˜ธํ™˜๋˜๋ฉฐ arm64 ์ง€์›์ด ๋” ์ž˜ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
toby@tobykakao:~$ docker pull mariadb:latest
  1. ๋‹ค์ค‘ ์•„ํ‚คํ…์ฒ˜ ์ง€์› ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •: ๋„์ปค์—์„œ --platform ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ amd64 ๋ฒ„์ „์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ์ด ๋ฐฉ๋ฒ•์€ amd64 ์—๋ฎฌ๋ ˆ์ด์…˜์„ ํ•„์š”๋กœ ํ•˜๋ฏ€๋กœ ์„ฑ๋Šฅ์ด ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
toby@tobykakao:~$ docker pull --platform linux/amd64 mysql:5.7

๋„์ปค ์ด๋ฏธ์ง€ tar ํŒŒ์ผ๋กœ ์ €์žฅ ๋ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

์ด๋ฏธ์ง€ ์ €์žฅ: docker image save ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ mysql:8 ์ด๋ฏธ์ง€๋ฅผ test-mysql8.tar ํŒŒ์ผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

toby@tobykakao:~$ docker image save mysql:8 > test-mysql8.tar
toby@tobykakao:~$ ls -lh test-mysql8.tar
-rw-rw-r-- 1 toby toby 590M Oct 31 01:17 test-mysql8.tar

tar ํŒŒ์ผ ๋‚ด์šฉ ํ™•์ธ: tar ๋ช…๋ น์˜ ์˜ต์…˜์ธ tvf๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ tar ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • tvf(t(list), v(verbose), f(file))๋ฅผ ์ด์šฉํ•ด ๋ฌถ์ธ ํŒŒ์ผ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ๋ ˆ์ด์–ด๋“ค์˜ ๋‹ค์ด์ œ์ŠคํŠธ๊ฐ’์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋””๋ ‰ํ† ๋ฆฌ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
toby@tobykakao:~$ tar tvf test-mysql8.tar
drwxr-xr-x 0/0               0 2024-10-14 22:21 blobs/
drwxr-xr-x 0/0               0 2024-10-31 01:17 blobs/sha256/
-rw-r--r-- 0/0            6512 2024-10-14 22:21 blobs/sha256/07b15f39a8d08f52383c96251e6cadf7d1015c0cf77b75114f659cd8fb02139b
-rw-r--r-- 0/0             477 2024-10-14 22:21 blobs/sha256/0d6dfd4b13e2922c08bd37a712da526b69ddb47d3f627a952c6a735f1fc7a982
-rw-r--r-- 0/0           17408 2024-10-14 22:21 blobs/sha256/16ced4dbe6074b9ba69f37db7dc61fe4d85376a9511ead84dccfd80dc72c9ba8
-rw-r--r-- 0/0            1772 1970-01-01 00:00 blobs/sha256/19592b390b0af9453b5171c3e57422a640aa89f3148a3e55bd1d2bb7c11871a1
-rw-r--r-- 0/0             477 2024-10-14 22:21 blobs/sha256/37b0a1c9bd71873e6f4ce416e0f7d2d4779d7f3d29a778990efe2a4bc35e07f1
-rw-r--r-- 0/0             477 2024-10-14 22:21 blobs/sha256/3a3b1d4077945032c307118bef003f773ca28c636e191d3618ddd499c3751082
-rw-r--r-- 0/0             477 2024-10-14 22:21 blobs/sha256/3fdea9ae3575d4febad2f5aa7f2483851246123fd628a4c03f4f92719cf264e0
-rw-r--r-- 0/0             401 2024-10-14 22:21 blobs/sha256/40b4233ce374847ac60d2698a03490badef3b86cb6707ad20cd56c02a7152d25
-rw-r--r-- 0/0            1061 2024-10-14 22:21 blobs/sha256/425f247fdd3ba37a146698b551edd4d8eb725e8db4981eb1c38d6ed191c2c61f
-rw-r--r-- 0/0             477 2024-10-14 22:21 blobs/sha256/5c4f9a6296eb8df53e0e71703d4c01ec906b5062819ec4ca8d5ab8e2dcb0a7f3
-rw-r--r-- 0/0       338249216 2024-10-14 22:21 blobs/sha256/7023eae83959d4863938235260f5d76afe66e8bf8c64303dd2aa9d73cf32b1a3
-rw-r--r-- 0/0       119646720 2024-10-14 22:21 blobs/sha256/724bf980a5d9acf94cd8803441a43140eef1faa650aa965bf9c691f6d2f9e97d
-rw-r--r-- 0/0         2406400 2024-10-14 22:21 blobs/sha256/78deb413c9bba482d76456df8311b0f1cf1b61ba23bd84ef177e064e4f656f6f
-rw-r--r-- 0/0            3072 2024-10-14 22:21 blobs/sha256/9039485b287a5ca1a8af1946519c2ff0aa2e0d38a5d7257f202b4f74852c475c
-rw-r--r-- 0/0       141234176 2024-10-14 22:21 blobs/sha256/9fb702689741fa51b22b04c5a77beca08a50832189b1fb9dd55168efa7174fc5
-rw-r--r-- 0/0             477 2024-10-14 22:21 blobs/sha256/a52f0fd0e1542c6d28683446c8cf62c74100831390649b02465c2a64ae50a3d8
-rw-r--r-- 0/0             477 2024-10-14 22:21 blobs/sha256/c4982f5931cec9d4f7541e4eb1ce91b1e4ad7924ea14c5348a3fbf52c4bed1d9
-rw-r--r-- 0/0            3072 2024-10-14 22:21 blobs/sha256/c76d8730f1255a017d80bb98d25f7603199812ad48c256c590c46fd1fa1c94f6
-rw-r--r-- 0/0           11264 2024-10-14 22:21 blobs/sha256/c8be8b1b0c7a46916e846f4afffefd5a5f0e942f75e5af443d0a4d2fcb38a5dc
-rw-r--r-- 0/0             477 2024-10-14 22:21 blobs/sha256/da6f9a2fe3f4b6a3e3001bde208cdbdecf5acb5855612bafbc83cb577404a3dc
-rw-r--r-- 0/0            6656 2024-10-14 22:21 blobs/sha256/de51580e3f80499a90c502060cabbb52a9ccb33d4fa3a3192f11b1f8db9048cd
-rw-r--r-- 0/0        16169472 2024-10-14 22:21 blobs/sha256/e5eb4da91418d588dd2f6e04fb3e030ee126f0a16fcc8d9356a857e38ceb45a5
-rw-r--r-- 0/0             352 2024-10-31 01:17 index.json
-rw-r--r-- 0/0            3208 1970-01-01 00:00 manifest.json
-rw-r--r-- 0/0              31 1970-01-01 00:00 oci-layout
-rw-r--r-- 0/0              83 1970-01-01 00:00 repositories
  • ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์‹ค์Šต → ์ด๋ฏธ์ง€ ์‚ญ์ œ ํ›„ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ: ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ €์žฅ๋œ tar ํŒŒ์ผ์„ ์ด์šฉํ•ด ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค.
toby@tobykakao:~$ docker image rm mysql:8
Untagged: mysql:8
Untagged: mysql@sha256:bda6ee1f3ae5ebb3cbe9b995c9645ffbd36d7dbda3bd4b4d2ffa43d997073074
Deleted: sha256:07b15f39a8d08f52383c96251e6cadf7d1015c0cf77b75114f659cd8fb02139b
Deleted: sha256:564095bf23debd62f1504bbe0c819949462dd31448ca1c940cb13c53a4e6969c
Deleted: sha256:828be284518c414b574cdb3f65c5833b2fadf8b5c3cd3139668b5cb95ec16e7d
Deleted: sha256:3bd80a737b4c508d8446a7e0ce015c908a0d59bbe31c18b175e2c05100277cd8
Deleted: sha256:37b754207ae8ff210fc90763fe60791ada0da02b979050fa2198d2367df89710
Deleted: sha256:f041810b085833d841a758eb04e8c85d01c33ea3b82649dbdeb2f3bf5c780809
Deleted: sha256:d204432c68bbf71d889e1ff670df9e55d40a7e0e76ea7a39b28495a6ed0ed645
Deleted: sha256:8a5558323b9502d685f62fce931d880b325a21c1bd6a8b44f79a212ff492de88
Deleted: sha256:a3700f56b3f2a7e3c0158211b60a6d4ce38f8bef9dca5ad8ae24a0d89b6c4006
Deleted: sha256:e53fbdf5a215d4d7affb9f0dd84581de932646c4b3c468365e2ff68e209458ca
Deleted: sha256:724bf980a5d9acf94cd8803441a43140eef1faa650aa965bf9c691f6d2f9e97d

toby@tobykakao:~$ docker images
REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
debian                  latest    d36fff645336   2 weeks ago    139MB
nginx                   latest    048e09038596   4 weeks ago    197MB
busybox                 latest    63cd0d5fb10d   4 weeks ago    4.04MB
daehyunbigbread/httpd   3.0       721aa0022a96   3 months ago   178MB
debian-httpd            2.0       721aa0022a96   3 months ago   178MB
httpd                   latest    721aa0022a96   3 months ago   178MB

์ด๋ฏธ์ง€ ๋กœ๋“œ: docker image load ๋ช…๋ น์œผ๋กœ tar ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ด๋ฏธ์ง€๋กœ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค.

toby@tobykakao:~$ docker image load < test-mysql8.tar
724bf980a5d9: Loading layer  119.6MB/119.6MB
c8be8b1b0c7a: Loading layer  11.26kB/11.26kB
78deb413c9bb: Loading layer  2.406MB/2.406MB
e5eb4da91418: Loading layer  16.17MB/16.17MB
de51580e3f80: Loading layer  6.656kB/6.656kB
c76d8730f125: Loading layer  3.072kB/3.072kB
9fb702689741: Loading layer  141.2MB/141.2MB
9039485b287a: Loading layer  3.072kB/3.072kB
7023eae83959: Loading layer  338.2MB/338.2MB
16ced4dbe607: Loading layer  17.41kB/17.41kB
Loaded image: mysql:8

์ด๋ฏธ์ง€ ํ™•์ธ: ์ด๋ฏธ์ง€๋ฅผ ์ •์ƒ์ ์œผ๋กœ ๋ถˆ๋Ÿฌ์™”๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

toby@tobykakao:~$ docker images
REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
debian                  latest    d36fff645336   2 weeks ago    139MB
mysql                   8         07b15f39a8d0   2 weeks ago    600MB
nginx                   latest    048e09038596   4 weeks ago    197MB
busybox                 latest    63cd0d5fb10d   4 weeks ago    4.04MB
httpd                   latest    721aa0022a96   3 months ago   178MB
daehyunbigbread/httpd   3.0       721aa0022a96   3 months ago   178MB
debian-httpd            2.0       721aa0022a96   3 months ago   178MB

docker import ์‚ฌ์šฉ:docker import๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ tar ํŒŒ์ผ์„ ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

toby@tobykakao:~$ cat test-mysql8.tar | docker import - mysql8:1.0
sha256:257c7d00682b75b455c100e9a7ca37316529880eae319991e1017e8b78f1389f

toby@tobykakao:~$ docker images
REPOSITORY              TAG       IMAGE ID       CREATED         SIZE
mysql8                  1.0       257c7d00682b   4 seconds ago   618MB
debian                  latest    d36fff645336   2 weeks ago     139MB
mysql                   8         07b15f39a8d0   2 weeks ago     600MB
nginx                   latest    048e09038596   4 weeks ago     197MB
busybox                 latest    63cd0d5fb10d   4 weeks ago     4.04MB
httpd                   latest    721aa0022a96   3 months ago    178MB
daehyunbigbread/httpd   3.0       721aa0022a96   3 months ago    178MB
debian-httpd            2.0       721aa0022a96   3 months ago    178MB


๋„์ปค ์ด๋ฏธ์ง€ tar ํŒŒ์ผ ์••์ถ•ํ•˜์—ฌ ์šฉ๋Ÿ‰ ์ค„์ด๊ธฐ

docker image save ๋ช…๋ น์— gzip ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜์—ฌ tar ํŒŒ์ผ์˜ ์šฉ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

toby@tobykakao:~$ docker image save mysql:8 | gzip > test-mysql8zip.tar.gz
toby@tobykakao:~$ ls -lh test-mysql8zip.tar.gz
-rw-rw-r-- 1 toby toby 158M Oct 31 01:26 test-mysql8zip.tar.gz

์••์ถ• ํ›„ ์•ฝ 300MB ์ •๋„ ์šฉ๋Ÿ‰์ด ๊ฐ์†Œ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์••์ถ•๋œ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ธฐ

์‰˜ ์Šคํฌ๋ฆฝํŠธ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์ด๋ฏธ์ง€๋ฅผ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ docker image save -o all_image.tar $(docker image ls -q)
$ ls -lh all_image.tar
-rw------- 1 hylee hylee 1.2G May 7 17:16 all_image.tar

๋„์ปค๋Š” docker image save์™€ ๊ฐ™์ด ์ด๋ฏธ์ง€๋ฅผ ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” docker export/import์™€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ด๋ฏธ์ง€๋กœ ์ƒ์„ฑํ•˜๋Š” docker commit๋„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Docker Image ์‚ญ์ œ

๋„์ปค ํ—ˆ๋ธŒ๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œํ•œ ์ด๋ฏธ์ง€๋Š” ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์šฉ๋Ÿ‰์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ž‘๊ฒŒ๋Š” ์ˆ˜ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ๋ถ€ํ„ฐ ํฌ๊ฒŒ๋Š” ์ˆ˜ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ๊ฐ€ ๋„˜๋Š” ๊ฒƒ๋„ ์žˆ์Šต๋‹ˆ๋‹ค  ์ด๋ฏธ์ง€๋ฅผ ๊ณ„์† ๋‹ค์šด๋กœ๋“œํ•˜๊ฒŒ ๋˜๋ฉด ๋กœ์ปฌ ์„œ๋ฒ„์˜ ์ €์žฅ ์šฉ๋Ÿ‰์„ ๋งŽ์ด ์ฐจ์ง€ํ•˜์—ฌ ๊ณต๊ฐ„ ๋ฌธ์ œ๋ฅผ ์•ผ๊ธฐํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์•ž์„œ ๋ฐฐ์šด docker image save๋ฅผ ํ†ตํ•ด ์ด๋ฏธ์ง€๋ฅผ ๋ฐฑ์—…ํ•˜๊ฑฐ๋‚˜ ์ฃผ๊ธฐ์ ์œผ๋กœ ์—…๋ฌด์— ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฏธ์ง€์™€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๊ณ , ๋ถˆํ•„์š”ํ•œ ์ด๋ฏธ์ง€๋Š” ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

 

ํ•˜๋‚˜ ์ด์ƒ์˜ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ •์‹ ๋ช…๋ น์€ docker image rm์ด๊ณ , ๋‹จ์ถ• ๋ช…๋ น์œผ๋กœ docker rmi๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

docker image rm [์˜ต์…˜] <์ด๋ฏธ์ง€ ์ด๋ฆ„[:ํƒœ๊ทธ] | ์ด๋ฏธ์ง€ ID>

docker rmi [์˜ต์…˜] <์ด๋ฏธ์ง€ ์ด๋ฆ„[:ํƒœ๊ทธ] | ์ด๋ฏธ์ง€ ID>

๋„์ปค ์ด๋ฏธ์ง€๋Š” ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์—†์œผ๋ฉด ๋ฐ”๋กœ ์‚ญ์ œ๋œ๋‹ค. ํƒœ๊ทธ๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€ ์›๋ณธ์€ ํƒœ๊ทธ๋œ ์ด๋ฏธ์ง€์™€ ์ƒ๊ด€์—†์ด ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Example

์‚ญ์ œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ubuntu:14.04 ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

toby@tobykakao:~$ docker pull ubuntu:14.04
14.04: Pulling from library/ubuntu
d1a5a1e51f25: Pull complete 
75f8eea31a63: Pull complete 
a72d031efbfb: Pull complete 
Digest: sha256:64483f3496c1373bfd55348e88694d1c4d0c9b660dee6bfef5e12f43b9933b30
Status: Downloaded newer image for ubuntu:14.04
docker.io/library/ubuntu:14.04

toby@tobykakao:~$ docker images
REPOSITORY              TAG       IMAGE ID       CREATED         SIZE
mysql8                  1.0       257c7d00682b   6 minutes ago   618MB
debian                  latest    d36fff645336   2 weeks ago     139MB
mysql                   8         07b15f39a8d0   2 weeks ago     600MB
nginx                   latest    048e09038596   4 weeks ago     197MB
busybox                 latest    63cd0d5fb10d   4 weeks ago     4.04MB
daehyunbigbread/httpd   3.0       721aa0022a96   3 months ago    178MB
debian-httpd            2.0       721aa0022a96   3 months ago    178MB
httpd                   latest    721aa0022a96   3 months ago    178MB
ubuntu                  14.04     55b7b4f7c5d6   2 years ago     187MB

์ด๋ฏธ์ง€ ์‚ญ์ œ ์‹œ latest ๋ฒ„์ „์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€๋Š” ๋ฐ˜๋“œ์‹œ ํƒœ๊ทธ๋ช…์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.

toby@tobykakao:~$ docker image rm ubuntu
Error response from daemon: No such image: ubuntu:latest
toby@tobykakao:~$ docker image rm ubuntu:14.04
Untagged: ubuntu:14.04
Untagged: ubuntu@sha256:64483f3496c1373bfd55348e88694d1c4d0c9b660dee6bfef5e12f43b9933b30
Deleted: sha256:55b7b4f7c5d6a56a3ccb5e93538311838599b65e746a07a0d90cb729e3559df7
Deleted: sha256:1d77723fd9062baa98c1f1f138bea5bda3d6eb956dcbad8626687568dad1fd01
Deleted: sha256:c5501973c9648791d99895779daa35bfd0b9d0442a0fda53e9af9bc73e8bca62
Deleted: sha256:59199d90878e4fda42bcd8a43bfe3ecd964265b2008746c6b18ae3d6ca659033

์ด๋ฏธ์ง€ ID๋ฅผ ์ด์šฉํ•œ ์ด๋ฏธ์ง€ ์‚ญ์ œ ์‹œ, ๋‹ค๋ฅธ ํƒœ๊ทธ ์ฐธ์กฐ๋กœ ์ธํ•œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ.

toby@tobykakao:~$ docker image rm b2c2ab6dcf2e
Error response from daemon: conflict: unable to delete b2c2ab6dcf2e (must be forced) - image is referenced in multiple repositories

ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋œ ๋ชจ๋“  httpd ๊ด€๋ จ ์ด๋ฏธ์ง€ ๋ชจ๋‘ ์‚ญ์ œ (-f ์˜ต์…˜ ์‚ฌ์šฉ).

toby@tobykakao:~$ docker image rm -f b2c2ab6dcf2e

๋ฆฌ๋ˆ…์Šค ์‰˜ ์Šคํฌ๋ฆฝํŠธ์˜ ๋ณ€์ˆ˜ ํ™œ์šฉ ๋ฐฉ์‹์„ ํ™œ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ์ „์ฒด ์‚ญ์ œ.

toby@tobykakao:~$ docker rmi $(docker images -q)

ํŠน์ • ์ด๋ฏธ์ง€ ์ด๋ฆ„์ด ํฌํ•จ๋œ ๊ฒƒ๋งŒ ์‚ญ์ œ.

toby@tobykakao:~$ docker rmi $(docker images | grep debian)

ํŠน์ • ์ด๋ฏธ์ง€ ์ด๋ฆ„์ด ํฌํ•จ๋œ ๊ฒƒ๋งŒ ์ œ์™ธํ•˜๊ณ  ๋ชจ๋‘ ์‚ญ์ œ.

toby@tobykakao:~$ docker rmi $(docker images | grep -v centos)

์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์„ ์ „์—ญ alias๋กœ ์ ์šฉํ•˜์—ฌ ํ™œ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๋‹ค.

toby@tobykakao:~$ vi .bashrc
alias cexrm='docker rm $(docker ps --filter "status=exited" -a -q)'

์„ค์ •ํ•œ alias ์ ์šฉํ•˜๊ณ  ํ™•์ธ.

toby@tobykakao:~$ source .bashrc     ๋˜๋Š” ~$ . .bashrc
$ alias
...
alias cexrm='docker rm $(docker ps --filter "status=exited" -a -q)'

์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€:

toby@tobykakao:~$ docker image rm centos:7
Error response from daemon: conflict: unable to remove repository reference "centos:7" (must force) - container 3d942f937afd is using its referenced image b5b4d78bc90c

์‚ฌ์šฉ ์ค‘์ด์ง€ ์•Š์€ ๋ชจ๋“  ์ด๋ฏธ์ง€ ์ œ๊ฑฐํ•˜๊ธฐ

์ด๋ฏธ์ง€๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ตฌ๋™์„ ์œ„ํ•ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ์— ๋‹ค์šด๋กœ๋“œ๋œ ์ด๋ฏธ์ง€ ์ค‘ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๋ชจ๋“  ์ด๋ฏธ์ง€ ์ œ๊ฑฐ๋ฅผ ์œ„ํ•ด docker image prune ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • -filter ์˜ต์…˜์„ ์ด์šฉํ•˜๋ฉด ํŠน์ • ๊ธฐ๊ฐ„์ด๋‚˜ ์ด๋ฏธ์ง€ ๋ผ๋ฒจ์„ ์ง€์ •ํ•˜์—ฌ ์ œ๊ฑฐ ๋Œ€์ƒ ์ด๋ฏธ์ง€๋ฅผ ์„ ๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ ์ค‘์ด ์•„๋‹Œ ๋ชจ๋“  ์ด๋ฏธ์ง€ ์ œ๊ฑฐ (a ์˜ต์…˜).
toby@tobykakao:~$ docker image prune -a
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
  • ์‚ฌ์šฉ ์ค‘์ด ์•„๋‹Œ 48์‹œ๊ฐ„ ์ด์ „์˜ ๋ชจ๋“  ์ด๋ฏธ์ง€ ์‚ญ์ œ (ํ™•์ธ ์—†์ด f ์˜ต์…˜).
toby@tobykakao:~$ docker image prune -a -f --filter "until=48h"