1
0

fly.ioで既存のアプリケーションへのデプロイ

Posted at

はじめに

fly.ioでデプロイのためにfly deployを行った際に詰まったところとその解決方法をまとめる.

問題

Error: failed to fetch an image or build from source: Could not find image "docker.io/library/flask-tutorial-blog-app:latest"

これは,fly deploy コマンドがリモートでイメージを見つけられないことを示している.これは,Fly.ioがローカルでビルドしたイメージをリモートレジストリにプッシュできていないため.
なお,flask-tutorial-blog-appというのはflyに登録されているappの名前である.

解決方法

現在のローカル環境からdockerイメージをビルドし,それをfly.io上にpushした上で,そのイメージをもとにdeployすればよい.以下に手順をまとめる.

1. fly.ioへの接続

fly.ioへログインとdockerの認証を済ませる.

fly auth login
fly auth docker

2. Dockerイメージのビルドとプッシュ

ローカルでDockerイメージをビルドし,Fly.ioのレジストリにDockerイメージをプッシュする.

docker build -t registry.fly.io/flask-tutorial-blog-app:latest .
docker push registry.fly.io/flask-tutorial-blog-app:latest

3. Fly.ioのデプロイ

イメージをプッシュした後、Fly.ioにデプロイする.この時,Fly.ioのレジストリからイメージを取得するように明示的に指定する.

fly deploy --image registry.fly.io/flask-tutorial-blog-app:latest

ここで,単に`fly deploy`だと,リモートでイメージを見つけられないというエラーが発生し,以下のようになってしまうので注意する.
Error: failed to fetch an image or build from source: Could not find image "docker.io/library/flask-tutorial-blog-app:latest"
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0