DrawingProcess
๋“œํ”„ DrawingProcess
DrawingProcess
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
ยซ   2025/06   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (964)
    • Profile & Branding (22)
      • Career (15)
    • IT Trends (254)
      • Conference, Faire (Experien.. (31)
      • News (187)
      • Youtube (19)
      • TED (8)
      • Web Page (2)
      • IT: Etc... (6)
    • Contents (97)
      • Book (66)
      • Lecture (31)
    • Project Process (94)
      • Ideation (0)
      • Study Report (34)
      • Challenge & Award (22)
      • 1Day1Process (5)
      • Making (5)
      • KRC-FTC (Team TC(5031, 5048.. (10)
      • GCP (GlobalCitizenProject) (15)
    • Study: ComputerScience(CS) (72)
      • CS: Basic (9)
      • CS: Database(SQL) (5)
      • CS: Network (14)
      • CS: OperatingSystem (3)
      • CS: Linux (39)
      • CS: Etc... (2)
    • Study: Software(SW) (95)
      • SW: Language (29)
      • SW: Algorithms (1)
      • SW: DataStructure & DesignP.. (1)
      • SW: Opensource (15)
      • SW: Error Bug Fix (43)
      • SW: Etc... (6)
    • Study: Artificial Intellige.. (149)
      • AI: Research (1)
      • AI: 2D Vision(Det, Seg, Tra.. (35)
      • AI: 3D Vision (70)
      • AI: MultiModal (3)
      • AI: SLAM (0)
      • AI: Light Weight(LW) (3)
      • AI: Data Pipeline (7)
      • AI: Machine Learning(ML) (1)
    • Study: Robotics(Robot) (33)
      • Robot: ROS(Robot Operating .. (9)
      • Robot: Positioning (8)
      • Robot: Planning & Control (7)
    • Study: DeveloperTools(DevTo.. (83)
      • DevTool: Git (12)
      • DevTool: CMake (13)
      • DevTool: NoSQL(Elastic, Mon.. (25)
      • DevTool: Container (17)
      • DevTool: IDE (11)
      • DevTool: CloudComputing (4)
    • ์ธ์ƒ์„ ์‚ด๋ฉด์„œ (64)
      • ๋‚˜์˜ ์ทจ๋ฏธ๋“ค (7)
      • ๋‚˜์˜ ์ƒ๊ฐ๋“ค (42)
      • ์—ฌํ–‰์„ ๋– ๋‚˜์ž~ (10)
      • ๋ถ„๊ธฐ๋ณ„ ํšŒ๊ณ  (5)

๊ฐœ๋ฐœ์ž ๋ช…์–ธ

โ€œ ๋งค์ฃผ ๋ชฉ์š”์ผ๋งˆ๋‹ค ๋‹น์‹ ์ด ํ•ญ์ƒ ํ•˜๋˜๋Œ€๋กœ ์‹ ๋ฐœ๋ˆ์„ ๋ฌถ์œผ๋ฉด ์‹ ๋ฐœ์ด ํญ๋ฐœํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๋ผ.
์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ด๋Ÿฐ ์ผ์ด ํ•ญ์ƒ ์ผ์–ด๋‚˜๋Š”๋ฐ๋„ ์•„๋ฌด๋„ ๋ถˆํ‰ํ•  ์ƒ๊ฐ์„ ์•ˆ ํ•œ๋‹ค. โ€

- Jef Raskin

๋งฅ์˜ ์•„๋ฒ„์ง€ - ์• ํ”Œ์ปดํ“จํ„ฐ์˜ ๋งคํ‚จํ† ์‹œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฃผ๋„

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
DrawingProcess

๋“œํ”„ DrawingProcess

[Docker] Slicon M1 Mac์—์„œ Lima๋กœ Docker Desktop ๋Œ€์ฒด ํ•˜๊ธฐ
Study: DeveloperTools(DevTool)/DevTool: Container

[Docker] Slicon M1 Mac์—์„œ Lima๋กœ Docker Desktop ๋Œ€์ฒด ํ•˜๊ธฐ

2023. 4. 28. 12:13
๋ฐ˜์‘ํ˜•
๐Ÿ’ก ๋ณธ ๋ฌธ์„œ๋Š” 'Slicon M1 Mac์—์„œ Lima๋กœ Docker Desktop ๋Œ€์ฒด ํ•˜๊ธฐ' ํฌ์ŠคํŒ…์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด๋‹ˆ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

1. Lima ์†Œ๊ฐœ

๊ฐ„๋‹จํžˆ Lima ์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜์ž๋ฉด Linux VM ๋ฅผ Mac ํ™˜๊ฒฝ์— ๋งŒ๋“ค์–ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค์ด๋ฉฐ, ์œˆ๋„์šฐ์˜ WSL (Windows Subsystem for Linux) ๊ณผ ์œ ์‚ฌํ•œ ๋ฉด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ธฐ๋ณธ์ ์œผ๋กœ lima๋Š” containerd๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ, ์‹œ์ž‘, ์ค‘์ง€, ์ด๋ฏธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ ์ €์žฅ, ๋งˆ์šดํŠธ ๊ตฌ์„ฑ, ๋„คํŠธ์›Œํ‚น ๋“ฑ์˜ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

2. Lima ์‚ฌ์šฉํ•˜๊ธฐ

2.1. Lima ์„ค์น˜

% โ brew install lima docker docker-compose

2.2. Lima ์‹œ์ž‘: VM ์ƒ์„ฑ ๋ฐ ์‚ญ์ œ

limactl ๋ช…๋ น์œผ๋กœ lima VM์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์•„๋ž˜์˜ ๋ช…๋ น์œผ๋กœ ๊ธฐ๋ณธ VM(Ubuntu ์ด๋ฏธ์ง€, nerdctl์„ ๋‹ค์šด)์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

% limactl start
? Creating an instance "default"  [Use arrows to move, type to filter]
> Proceed with the current configuration
  Open an editor to review or modify the current configuration
  Choose another example (docker, podman, archlinux, fedora, ...)
  Exit

์ดํ›„ ์ƒ์„ฑํ•œ "default" VM instance๋ฅผ ๋‹ค์Œ์˜ ๋ช…๋ น์œผ๋กœ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

% limactl stop default		# default ์ธ์Šคํ„ด์Šค ์ค‘์ง€
% limactl remove default	# default ์ธ์Šคํ„ด์Šค ์‚ญ์ œ

2.3. Lima ์„ค์ •: docker ์‚ฌ์šฉ

1) ๊ธฐ๋ณธ docker ์„ค์ • ํŒŒ์ผ

์•„๊นŒ ์„ค์น˜ํ•œ VM ์ธ์Šคํ„ด์Šค๋Š” ์•„๋ฌด ๊ฒƒ๋„ ์„ค์น˜ํ•˜์ง€ ์•Š์€ ์ƒํƒœ์ด๋ฏ€๋กœ Lima repository์—์„œ ์˜ˆ์ œ๋กœ ์ œ๊ณตํ•˜๋Š” docker yaml ์„ค์ • ์ƒ˜ํ”Œ์„ ๋ฐ›์•„์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด๋ด…์‹œ๋‹ค.

% curl -o docker.yaml https://raw.githubusercontent.com/lima-vm/lima/master/examples/docker.yaml
% limactl start docker.yaml
? Creating an instance "default" Proceed with the current configuration
INFO[0001] Attempting to download the image              arch=aarch64 digest="sha256:b47f8be40b5f91c37874817c3324a72cea1982a5fdad031d9b648c9623c3b4e2" location="https://cloud-images.ubuntu.com/releases/22.04/release-20230518/ubuntu-22.04-server-cloudimg-arm64.img"
INFO[0001] Using cache "/Users/choiseongjun/Library/Caches/lima/download/by-url-sha256/2dd0439437354b40b9e07d4b3e1a56650b0bf163a0634ac092d17fcbc76329ea/data"
INFO[0002] [hostagent] Starting QEMU (hint: to watch the boot progress, see "/Users/choiseongjun/.lima/default/serial.log")
INFO[0002] SSH Local Port: 60022
...

VM ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋œ ํ›„ 'lima'๋กœ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•˜์—ฌ docker๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

choiseongjun@choeseongjun-ui-MacBookPro Downloads% lima  
choiseongjun@lima-default:/Users/choiseongjun/Downloads$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

2) ๊ธฐ๋ณธ docker-rootful ์„ค์ • ํŒŒ์ผ: ๊ธฐ๋ณธ sudo ๊ถŒํ•œ

% curl -o docker-rootful.yaml https://raw.githubusercontent.com/DrawingProcess/docker-compose/master/lima_docker/docker-rootful.yaml
% limactl start docker-rootful.yaml

 

2.4. ~/.ssh/config ์„ค์ •ํ•˜๊ธฐ

limactl show-ssh ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ง€์ •ํ•œ vmd ์˜ ssh config ์„ค์ •์„ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

% limactl show-ssh --format=config default

ํ•ด๋‹น ๋‚ด์šฉ์„ ~/.ssh/config ์— ์„ค์ •ํ•ด์ฃผ๋ฉด ๊ฐ„ํŽธํ•˜๊ฒŒ ssh ์ ‘์†์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

% limactl show-ssh --format=config default >> ~/.ssh/config

2.5. Mac ์—์„œ VM ๋„์ปค ์ด์šฉํ•˜๊ธฐ

Mac ์—์„œ VM ๋„์ปค ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ssh๋กœ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•˜๊ฑฐ๋‚˜, DOCKER_HOST๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

% ssh lima-default # ~/.ssh/config ์—์„œ ์„ค์ •ํ•œ hostname

๋˜๋Š”

% export DOCKER_HOST=ssh://lima-default:60006

3. Trouble Shooting

1) docker-compose up ์˜ค๋ฅ˜

๋‹ค์Œ๊ณผ ๊ฐ™์€ docker-compose ์—์„œ registry ์— ์ ‘๊ทผ์ด ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” docker-compose.yaml ์— ๊ธฐ์ˆ ๋œ ์ด๋ฏธ์ง€๋ฅผ docker pull ๋ฐ›์€ ๋‹ค์Œ์— ๋‹ค์‹œ ์‹œ๋„ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

2) docker-compose ์‚ฌ์šฉ์‹œ mount ์„ค์ • ๋Œ€์ƒ์˜ read-only ์˜ค๋ฅ˜

limactl๋กœ ์ดˆ๊ธฐ ์„ค์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•œ ํŒŒ์ผ์€ ~/.lima/<file_name>/lima.yaml์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ดˆ๊ธฐ ์„ค์ •์€ ํ™ˆ๋””๋ ‰ํ† ๋ฆฌ(~)๊ฐ€ 'writable: false'๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š”๋ฐ, ์ด๋ฅผ  'writable: true'๋กœ ์ˆ˜์ •ํ•ด์ค๋‹ˆ๋‹ค.

% nano ~/.lima/docker/lima.yaml

...
# ~/.lima/default/lima.yaml ์—์„œ ๋งˆ์šดํŠธ ๋ถ€๋ถ„์„ ํ™•์ธํ•ด๋ณด๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐ”๊พผ๋‹ค
mounts:
  - location: "~"
    writable: true
  - location: "/tmp/lima"
    writable: true

3) mount ์˜ค๋ฅ˜, lima v.0.8.0

-v ๋ช…๋ น์„ ์“ธ๋•Œ ๋งˆ์šดํŠธ ํ•˜๊ณ ์ž ํ•˜๋Š” ์†Œ์Šค์˜ ์œ„์น˜๊ฐ€ ~/.lima//lima.yaml ํŒŒ์ผ์—์„œ ์„ค์ •ํ•œ mounts ์œ„์น˜์˜ ๋‚ด๋ถ€ ํด๋”์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์œ„์™€ ๊ฐ™์ด ์„ค์ •์‹œ '~/' ๋˜๋Š” '/tmp/lima' ๋‚ด๋ถ€์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ docker.yaml์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, /tmp/lima/vol ๊ณผ ๊ฐ™์€ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋„ ์•ˆ๋ฉ๋‹ˆ๋‹ค.

% docker run -it --name test -v /tmp/lima:/code/mnt -d test-app:2021122202

์ฐธ๊ณ 

  • [Blog] Slicon M1 Mac์—์„œ Lima๋กœ Docker Desktop ๋Œ€์ฒด ํ•˜๊ธฐ: https://breezymind.com/slicon-m1-mac-lima-docker-desktop-alternative/
  • [Reddis] Replacing Docker Desktop with Lima on Mac OS: https://www.reddit.com/r/docker/comments/sihgoy/replacing_docker_desktop_with_lima_on_mac_os/
  • [Blog] Replacing Docker Desktop with Lima on Mac OS: https://naomiaro.hashnode.dev/replacing-docker-desktop-with-lima-on-mac-os
  • [Github] lima docker.yaml: https://github.com/lima-vm/lima/blob/master/examples/docker.yaml 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Study: DeveloperTools(DevTool) > DevTool: Container' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Docker] docker ๋‚ด๋ถ€ nvidia gpu ์‚ฌ์šฉํ•˜๊ธฐ(feat. nvidia-docker, NVIDIA Container Toolkit)  (1) 2024.01.28
[Docker] ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ tar ํŒŒ์ผ๋กœ ์ €์žฅ (export / import / save / load)  (0) 2023.10.10
[Kubernetes] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ž…๋ฌธ: Part II. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ธฐ๋ณธ ๊ฐœ๋…(์•„ํ‚คํ…์ฒ˜, ํŒŒ๋“œ, ...)  (0) 2023.03.09
[Kubernetes] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ž…๋ฌธ: Part I. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹œ์ž‘ํ•˜๊ธฐ  (0) 2023.02.23
[Docker] docker-compose์—์„œ links์™€ depends_on์˜ ์ฐจ์ด์   (0) 2023.01.11
    'Study: DeveloperTools(DevTool)/DevTool: Container' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Docker] docker ๋‚ด๋ถ€ nvidia gpu ์‚ฌ์šฉํ•˜๊ธฐ(feat. nvidia-docker, NVIDIA Container Toolkit)
    • [Docker] ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ tar ํŒŒ์ผ๋กœ ์ €์žฅ (export / import / save / load)
    • [Kubernetes] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ž…๋ฌธ: Part II. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ธฐ๋ณธ ๊ฐœ๋…(์•„ํ‚คํ…์ฒ˜, ํŒŒ๋“œ, ...)
    • [Kubernetes] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ž…๋ฌธ: Part I. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹œ์ž‘ํ•˜๊ธฐ
    DrawingProcess
    DrawingProcess
    ๊ณผ์ •์„ ๊ทธ๋ฆฌ์ž!

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”