2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker Desktop→OrbStackにローカル環境を移行してみた

Last updated at Posted at 2024-12-27

OrbStackとは

サイトのURLはこちら
Docker Desktop for Macの代替として注目されているらしいです。
macOS上でDockerコンテナ等やLinuxマシン、Kubernetes等を動かせたりします。

本題

Docker Desktopで起動していたコンテナとかイメージを諸々OrbStackに移行したい!
となった時の手順や注意点などを主にこの記事では記載しております。
一通り網羅できるような記事としてかけていたら嬉しいです。

OrbStackをインストール

方法は、2種類あります。

  1. Homebrewを使ったインストール
    brew install orbstack
    
  2. サイトからdmg形式のファイルをダウンロードする

OrbStackの起動

FinderのアプリケーションからOrbStackのアイコンを探し、クリックし起動
スクリーンショット 2024-12-27 12.32.23.png

起動後、上記のような画面が出てきます。
Docker, Kubernetes, Linuxどれを利用するのか選択します。
今回は、Docker DesktopからOrbStackに移行するので、Dockerを選択します。

トップ画面
orbstack_top_image.png
Dockerを選択すると上記のようなトップ画面が出ます。

*トップ画面が出てからDocker Desktopの内容からmigrateしてしまうケースがあるらしいです。

Docker Desktop→OrbStackにコンテナやイメージの情報をmigrateする

2種類の方法があります。

  1. TOP画面に表示されている"Migrate from Docker Desktop”をクリックする
  2. 上部メニューから”File”->“Migrate Docker Data”でDocker Desktopにあるコンテナ、ボリューム、イメージをOrbStackに移してくれます
    migrate_menu.png

migrateした後、下記のようなポップアップが出ることがある。

migrate_error_モザイク.png

内容はモザイクをつけていますが、

container /~: create container: [Docker] No such image: ...

のような内容が記載されています。
簡単に言えば、migrateしたけど、移せなかった内容があるよ!
ということです。

重要なコンテナやイメージではないなら気にしなくても問題ないかと思います。(私は、特に問題なかったです)
今回私の方でエラーが出たのは、セットアップ中に作成したデータやイメージなどが移せなかっただけで、セットアップ時に再度作成するので、問題なかったです。

Dockerコンテキスト情報を確認と変更

docker context ls

上記、コマンドは、利用しているコンテキストを確認する
出力例

$ docker context ls
NAME         DESCRIPTION                               DOCKER ENDPOINT                                         ERROR
default      Current DOCKER_HOST based configuration   unix:///hogehoge
orbstack *   OrbStack                                  unix:///hogehoge

マイグレーションが完了したなら、Docker Desktopは不要でコンテキストとしては、OrbStackを指し示すようにする。そのため、下記コマンドを実行
"*"が今利用しているコンテキストになります。

docker context use orbstack

出力例

% docker context use orbstack
orbstack
Current context is now "orbstack"

Dockerネットワークの確認や削除

Docker Desktopで作成したDocker Networkが存在すると同じ名前でOrbStack上でDocker Networkを構築することができません。(同じ名前のネットワークが存在しますみたいなエラーが出ます。)

なので、Dockerネットワークを確認し、不要なら削除する
Dockerネットワークの確認

docker network ls

不要なネットワークの削除

docker network rm ~

Dockerコンテナの立ち上げ

各環境でコマンドなどで立ち上げる
*そこは詳細に記載はしないです。
各ローカル環境ごとにコマンド等あるかと思いますので...

他にできることやトラブル解決方法とか

buildxコマンド

Q: docker-buildxってなにか
A: コンテナイメージを作成する際にamd64アーキテクチャ向けイメージだけではなく、arm向けのイメージも作りたい時に使う感じです。

詳細はこちら

こういったコマンドなどは使うことができます。

Docker Desktopで作ったマルチビルドが残ってる

docker buildx rm multibuild
docker buildx create --name multibuild
docker buildx use multibuild

Docker Desktopでマルチビルドを作っていると、OrbStackを起動してもマルチビルドが残っていたりします。
Docker Desktopで作ったマルチが不要なら消すことで、エラーが直ります。

移行してみた感想

migrateしたら普通にOrbStackでも動きました。
移行もかなり楽でした。

商用利用の場合、料金比較等するかと思うので、OrbStackの方が安い可能性もあるかと思うので、検討してみると良いかと思います。
また、30日?はPro仕様で動いてくれるらしいので、お試しで移行チャレンジして、動作問題なければ、本格的に移行でもありかもしれません。

久々にちゃんとした技術記事書きました。
拙い文章ですが、また後で書きます。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?