Amazon WorkSpaces (Amazon Linux 2) に Docker を入れたので、備忘録を残しておきます。
インストール
sudo yum install -y docker
ログインユーザーに Docker の使用を許可
sudo gpasswd -a $USER docker
システム起動時に Docker を起動
sudo systemctl enable docker
DNS を Google Public DNS に設定
既定では、WorkSpaces の DNS 設定が VPC のネットワーク上のアドレスを指しているため、 Docker コンテナ内から到達できない DNS へのリクエストが発生し、名前解決がタイムアウトします。このため、既定の DNS として Google Public DNS を手動で設定することにします。
また、外部 DNS を指定する場合、内部ホストの名前解決は意味を持たないので、ホスト名の検索を無効化します。1
以下の内容のファイルを /etc/docker/daemon.json に保存します。
/etc/docker/daemon.json
{
"dns": ["8.8.8.8", "8.8.4.4"],
"dns-search": ["."]
}
Docker を起動
sudo systemctl start docker
動作確認
ログインしなおして、動作確認をしてみます。
docker run --rm amazonlinux:2 curl -s https://github.com/status
出力:
GitHub lives! (2018-09-07 21:59:54 -0700) (1)
できました
参考
-
既定で ap-northeast-1.compute.internal (東京リージョンの場合) が検索されるよう設定されています。 ↩