LoginSignup
1
0

M1 Mac DockerでDb2を動かす

Posted at

はじめに

M1 Mac Docker で無償版Db2を動かそうとしたところ色々詰まる所があったので、メモ書きをしました。途中までなので元気になったら追記していく予定です。

Docker imageをpull

まず適当にフォルダを作ります

mkdir Docker
cd Docker
docker pull icr.io/db2_community/db2 --platform=linux/amd64

数分かかります。
M1 Macのせいでここで躓いた。公式Documentはintel Mac想定なので--platformの指定がなくても動くがM1の場合は--platform=linux/amd64がないと、以下のようなエラーが出る。

$ docker pull icr.io/db2_community/db2                         
Using default tag: latest
latest: Pulling from db2_community/db2
no matching manifest for linux/arm64/v8 in the manifest list entries

環境変数ファイル作成

次に環境変数ファイル.env_listを作成する

.env_list
LICENSE=accept
DB2INSTANCE=db2inst1
DB2INST1_PASSWORD=password
DBNAME=testdb
BLU=false
ENABLE_ORACLE_COMPATIBILITY=false
UPDATEAVAIL=NO
TO_CREATE_SAMPLEDB=false
REPODB=false
IS_OSXFS=true
PERSISTENT_HOME=true
HADR_ENABLED=false
ETCD_ENDPOINT=
ETCD_USERNAME=
ETCD_PASSWORD=

Docker コンテナ起動

以下のコマンドを入力して実行し、Docker コンテナーを起動します

docker run -h db2server --name db2server --restart=always --detach --privileged=true -p 50000:50000 --env-file .env_list -v /Users/<username>/Docker:/database --platform=linux/amd64 icr.io/db2_community/db2

ここで、
-h は、 db2server という名前を Docker コンテナーに割り当てます。
-p は、使用するポート番号を指定します。
--privileged は、特権モードでコンテナーを開始します。
-v は、 Db2 Docker イメージに使用されるボリュームを定義しています。

Db2 インスタンスに入る

以下のコマンドを入力して、 Docker コンテナー内の実行中の Db2 インスタンスにアクセスします

docker exec -ti db2server bash -c "su – db2inst1"

追記予定

参考

こちらの記事はより詳細に説明してくださっています

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