๐Ÿšข ๋„์ปค์˜ ๋ฌ˜ํ•œ ๋ณ€๋•: M1 ๋งฅ์—์„œ credsStore ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ

Woodyยท2024๋…„ 1์›” 29์ผ

๋„์ปค

๋ชฉ๋ก ๋ณด๊ธฐ
1/3

๋ฌธ์ œ ์ƒํ™ฉ: ๊ฐ‘์ž๊ธฐ ๋„์ปค๊ฐ€ ์ด๋ฏธ์ง€๋ฅผ ๋‹น๊ฒจ์˜ค์ง€ ๋ชปํ•ด์š”!

์˜ค๋Š˜๋„ ํ‰ํ™”๋กญ๊ฒŒ ๊ฐœ๋ฐœํ•˜๋˜ ์ค‘, ๊ฐ‘์ž๊ธฐ ๋„์ปค๊ฐ€ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํŒ€์›๋“ค์˜ ์ปดํ“จํ„ฐ์—์„œ๋Š” ๋ชจ๋‘ ์ •์ƒ ์ž‘๋™ํ•˜๋Š”๋ฐ, ์œ ๋… ์ œ M1 ๋งฅ๋ถ์—์„œ๋งŒ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹นํ™ฉํ•œ ๊ฐœ๋ฐœ์ž

Docker failed to solve: nginx:1.21.0-alpine: error getting credentials - err: exit status 1, out: ``

๋„์ปค ์—๋Ÿฌ ๋ฉ”์‹œ์ง€

์‹ฌ์ง€์–ด docker pull nginx:1.21.0-alpine ๋ช…๋ น์–ด๋กœ ์ง์ ‘ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›์•„๋ณด๋ ค ํ•ด๋„ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋จธ๋ฆฌ๋ฅผ ๊ธ์ ์ด๋Š” ๊ณ ์–‘์ด

๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง„ ๊ฑธ๊นŒ์š”?

์›์ธ ๋ถ„์„: credsStore์˜ ๋ฏธ์Šคํ„ฐ๋ฆฌ

๋ฌธ์ œ์˜ ์›์ธ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๊ตฌ๊ธ€๋ง๊ณผ ๋„์ปค ํฌ๋Ÿผ์„ ๋’ค์ง€๋˜ ์ค‘, ๋„์ปค ์ธ์ฆ ์ •๋ณด ์ €์žฅ์†Œ์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ์ผ ๊ฐ€๋Šฅ์„ฑ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

ํƒ์ • ๋ชจ๋“œ

๋„์ปค ์„ค์ • ํŒŒ์ผ์„ ํ™•์ธํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค:

vi ~/.docker/config.json

๊ทธ๋ฆฌ๊ณ  ๋ฒ”์ธ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค! ํŒŒ์ผ ๋‚ด์šฉ์— "credsStore": "desktop" ํ•ญ๋ชฉ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋„์ปค ์„ค์ • ํŒŒ์ผ

์œ ๋ ˆ์นด!

์›์ธ ์„ค๋ช…

Apple Silicon ๋งฅ(M1/M2)์—์„œ๋Š” ๋„์ปค ๋ฐ์Šคํฌํ†ฑ์˜ ์ธ์ฆ ์ €์žฅ์†Œ(credential store) ๊ด€๋ จ ๋ฌธ์ œ๊ฐ€ ๊ฐ„ํ—์ ์œผ๋กœ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. Docker Desktop ์—…๋ฐ์ดํŠธ ํ›„ ์„ค์ • ์ถฉ๋Œ: ์—…๋ฐ์ดํŠธ ๊ณผ์ •์—์„œ ์ธ์ฆ ๊ด€๋ฆฌ์ž ์„ค์ •์ด ์ž˜๋ชป๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ํ‚ค์ฒด์ธ ์ ‘๊ทผ ๊ถŒํ•œ ๋ฌธ์ œ: macOS ํ‚ค์ฒด์ธ๊ณผ ๋„์ปค์˜ ํ†ตํ•ฉ ๊ณผ์ •์—์„œ ๊ถŒํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ARM ์•„ํ‚คํ…์ฒ˜ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ: Apple Silicon ์นฉ์„ ์‚ฌ์šฉํ•˜๋Š” ๋งฅ์—์„œ ์ผ๋ถ€ ๋„์ปค ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ์ตœ์ ํ™”๋˜์ง€ ์•Š์•„ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: credsStore ์ œ๊ฑฐํ•˜๊ธฐ

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋†€๋ž๋„๋ก ๊ฐ„๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. config.json ํŒŒ์ผ์—์„œ "credsStore": "desktop" ๋ถ€๋ถ„์„ ์‚ญ์ œํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ์ฑ…

  1. ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋กœ ์„ค์ • ํŒŒ์ผ ์—ด๊ธฐ:

    vi ~/.docker/config.json
  2. "credsStore": "desktop" ํ•ญ๋ชฉ ์‚ญ์ œ

  3. ํŒŒ์ผ ์ €์žฅ ํ›„ ๋„์ปค ์žฌ์‹œ์ž‘:

    docker context use default

    ๋˜๋Š” Docker Desktop ์•ฑ ์žฌ์‹œ์ž‘

๊ฒฐ๊ณผ: ๋‹ค์‹œ ํ‰ํ™”๋กœ์šด ๋„์ปค ์ƒํ™œ

์„ค์ •์„ ๋ณ€๊ฒฝํ•œ ํ›„, ๋„์ปค ๋นŒ๋“œ๋ฅผ ๋‹ค์‹œ ์‹œ๋„ํ–ˆ๋”๋‹ˆ...

์„ฑ๊ณต์ ์ธ ๋„์ปค ๋นŒ๋“œ

์งœ์ž”! ์„ฑ๊ณต์ ์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๐ŸŽ‰

์Šน๋ฆฌ์˜ ์ถค

์ถ”๊ฐ€ ํŒ: ๋น„์Šทํ•œ ๋ฌธ์ œ์˜ ๋‹ค๋ฅธ ํ•ด๊ฒฐ์ฑ…

์ธํ„ฐ๋„ท์—์„œ ์ฐพ์•„๋ณธ ์ถ”๊ฐ€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๋“ค์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค:

1. Docker Desktop ์‚ฌ์šฉ์ž ์ธ์ฆ ์žฌ์„ค์ •

  1. Docker Desktop ์•ฑ ๋ฉ”๋‰ด์—์„œ Sign out ํ›„ ๋‹ค์‹œ ๋กœ๊ทธ์ธ
  2. Settings โ†’ Docker Engine์—์„œ ์„ค์ • ์ดˆ๊ธฐํ™”

2. Docker ์ž๊ฒฉ ์ฆ๋ช… ๋„์šฐ๋ฏธ ๋ณ€๊ฒฝ

macOS์—์„œ๋Š” osxkeychain ์ž๊ฒฉ ์ฆ๋ช… ๋„์šฐ๋ฏธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

{
  "credsStore": "osxkeychain"
}

3. Docker Desktop ์™„์ „ ์žฌ์„ค์น˜

์™„์ „ํ•œ ์žฌ์„ค์น˜๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ:

# Docker Desktop ์ œ๊ฑฐ
/Applications/Docker.app/Contents/MacOS/Docker --uninstall

# ๊ด€๋ จ ํŒŒ์ผ ์‚ญ์ œ
rm -rf ~/Library/Group\ Containers/group.com.docker
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/.docker

# ์žฌ์„ค์น˜ ํ›„ ์ฒ˜์Œ๋ถ€ํ„ฐ ์„ค์ •

4. ํŠน์ • ๋ฒ„์ „ ์‚ฌ์šฉํ•˜๊ธฐ

๊ฐ€๋”์€ ํŠน์ • ๋ฒ„์ „์˜ ๋„์ปค ์ด๋ฏธ์ง€๊ฐ€ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํƒœ๊ทธ๋ฅผ ์‹œ๋„ํ•ด๋ณด์„ธ์š”:

docker pull nginx:1.21-alpine
# ๋˜๋Š”
docker pull nginx:alpine

๋งˆ์น˜๋ฉฐ

M1/M2 ๋งฅ์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ€๋”์”ฉ ์ด๋Ÿฐ ๋ฌ˜ํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์€ ๊ฐ„๋‹จํ•œ ์„ค์ • ๋ณ€๊ฒฝ์œผ๋กœ ํ•ด๊ฒฐ๋˜์ง€๋งŒ, ๊ฐ€๋”์€ ์„ค์ •์„ ๋‹ค์‹œ ํ™•์ธํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์–ด ๋‹คํ–‰์ด์ง€๋งŒ, ๋„์ปค๊ฐ€ ์—…๋ฐ์ดํŠธ๋  ๋•Œ๋งˆ๋‹ค config.json ํŒŒ์ผ์„ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ์ ์€ ์•„์‰ฝ์Šต๋‹ˆ๋‹ค. ๋„์ปค ํŒ€์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ํ•ด๊ฒฐํ•ด์ฃผ๊ธธ ๋ฐ”๋ผ๋ฉฐ... ๋‹น๋ถ„๊ฐ„์€ ๊ฐ€๋”์”ฉ config.json ํŒŒ์ผ์„ ์ฒดํฌํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์—ฌ์•ผ๊ฒ ๋„ค์š”! ๐Ÿ˜„

๋‹ค๋ฅธ ์˜ต์…˜ ์‹œ๋„ํ•˜๊ธฐ


์—ฌ๋Ÿฌ๋ถ„๋„ ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ๊ณ„์‹ ๊ฐ€์š”? ๋‹ค๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ๊ณ„์‹œ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๊ณต์œ ํ•ด์ฃผ์„ธ์š”!

profile
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ ์‚ด์•„๊ฐ€๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€