dockerを使ってみる カレンダー連携④

· ☕ 2

前回lambdaが動かなかったので、なんとか頑張る回ですw

layerが上手く固められていなかったのが原因で、多分dockerで解決するはず…。

前回までの流れはこちら

docerの導入

私の開発環境はwindows on WSL です。

なので、Docker for WindowsをWSLから呼び出していきます。

Windows側の作業

Docker for Windowsはインストール済。

こちらからインストールできます。

WSL側の作業

これらもインストール済

ツール名 バージョン
docker 18.09.7
docker-compose 1.24.0

これを実行

echo "export DOCKER_HOST=tcp://localhost:2375" >> ~/.bashrc
source ~/.bashrc

接続確認

$ docker stats
CONTAINER ID        NAME                CPU %               PRIV WORKING SET
    NET I/O             BLOCK I/O

動いた。

layerを作る

Dockerfileを作る

1
2
3
4
FROM lambci/lambda:build-python3.8
ENV AWS_DEFAULT_REGION ap-northeast-1
ADD . .
CMD pip3 install -r requirements.txt -t /var/task

requirements.txtを作る

1
2
3
httplib2
oauth2client
google-api-python-client

ビルドする。

$ docker build .
Sending build context to Docker daemon  2.048kB
Step 1/4 : FROM lambci/lambda:build-python3.8
build-python3.8: Pulling from lambci/lambda
image operating system "linux" cannot be used on this platform

むぅ。

調べたら、osがlinuxになってないせいらしい。

$ docker version
Client:
 Version:           18.09.7
 API version:       1.39
 Go version:        go1.10.1
 Git commit:        2d0083d
 Built:             Fri Aug 16 14:20:06 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.4
  API version:      1.40 (minimum version 1.24)
  Go version:       go1.12.10
  Git commit:       9013bf5
  Built:            Thu Oct 17 23:55:51 2019
  OS/Arch:          windows/amd64
  Experimental:     false

スイッチリナックス

$ docker version
Client:
 Version:           18.09.7
 API version:       1.39
 Go version:        go1.10.1
 Git commit:        2d0083d
 Built:             Fri Aug 16 14:20:06 2019
 OS/Arch:           linux/amd64
 Experimental:      false
Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running?

アイコンにカーソル合わせると、
Docker Desktop is switching…
ってでます。

ちょっと待ちましょう。

待ってたら…

メモリー不足…。

メモリ不足

メモリー下げて再挑戦…

と思ったら、私のdocker、settingsにadvanced…。メモリの設定ないの…

設定

なんか色々調子悪いし、一回入れなおす!

続きは明日…

※追記

メモリの設定はエッジ版をダウンロードしたら表示されました。

詳しくは翌日記事参照

続き


るな
るな
エンジニア