Skip to content
Kazuya Hatano edited this page Jan 1, 2022 · 4 revisions

開発環境

  • macOS(10.14)でDockerにてUbuntu 18.04で開発
  • macOS(12.1) (M1 Mac)でDockerにて開発

Docker環境構築の注意点

Dockerを起動する際に、オプションを指定しないとデバッグできません。

$ docker run -it --cap-add=SYS_PTRACE --security-opt seccomp=unconfined <リポジトリ名> /bin/bash

M1 Macで開発する場合

以下のコマンドで開発用のDokcerを作成する(compilerbookオリジナルのDockerイメージだと実行に失敗するので少し変更してあります)

$ docker build -t compilerbook ./9cc/Docker

9ccのあるディレクトリで9ccを実行する

# make とテストを実行する場合
$ docker run --rm -v $(pwd)/9cc:/9cc -w /9cc compilerbook make test

# docker上のbashを使う場合
$ docker run --rm -it -v $(pwd)/9cc:/9cc compilerbook

Dockerイメージの再開

ホストマシンを再起動した時など、Dockerのイメージが停止している場合に開発を再開する方法
まずはDockerイメージが停止しているか確認する

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
a4d35f2e2fd9        k28/ubuntu          "/bin/bash"         3 months ago        Up 7 minutes                            gallant_napier

止まっているイメージを再開して、attachする
(上記の場合は動いているのでattachのみでOK)

$ docker start a4d35f2e2fd9
$ docker attach a4d35f2e2fd9

コンテナを動作させた状態のまま、抜けるにはC-p, C-q

Clone this wiki locally