Oracle Cloud InfrastructureのVMインスタンス上でDockerで構築したアプリを動かすまでのメモ。
なお、別に Oracle Container Cloud Service
というのあるらしく、そちらでコンテナを用いたアプリ管理はできるようだが、今回はVMインスタンス上で試してみる。
※Oracle Container Cloud Serviceのドキュメント
動かすインスタンスタイプは VM.Standard.E2.1.Micro
で、これは無料枠で動かせるやつとなる。
インストールにあたって下記のドキュメントを参照している。
なお、適宜不要そうな箇所は飛ばしているのでその点ご了承いただきたい。
また一部下記のドキュメントも参照しているが、基本的にこちらの記述は古く、コマンドもそのままでは動かないため、あまり参考にしないほうが良い。
(ただし内容的にはGhostをOCI上で動かしてブログを構築するというもので、とても勉強になりそうな内容となっている)
https://blogs.oracle.com/otnjp/post/en_article_10
Oracle Cloud InfrastructureのVMインスタンス上でDockerをセットアップした際のコマンドログ
ちなみに今は yum
ではなく dnf
を使うらしい。私は yum
を使った記憶しかなかったが,dnf
はyum
の後継、という立ち位置らしい。
では、コマンドをメモしていく。
# 一応まずはアップデートかけておく sudo dnf update -y # repoを確認(dockerは存在しないことを確認) dnf repolist # dockerのrepoを追加 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # repoを確認(docker-ce-stableが追加されていることを確認) dnf repolist # dockerをインストール sudo dnf install docker-ce docker-ce-cli containerd.io # dockerを起動・有効化 sudo systemctl start docker sudo systemctl enable docker ### root以外のユーザーがDockerコマンドを実行できるようにしておく # 下記のコマンドは既にgroupがあると出てきたので不要? groupadd docker sudo service docker restart sudo usermod -a -G docker opc exit
opcユーザーがsudoを使わずにDockerコマンドを実行できるようにするには、ログアウトしてからログインし直す必要があるため、一度 exit
してもう一度入り直す。
(もしかしたら不要かもしれないが、Oracleのドキュメントに書いてあったので一応そのとおりに行っている。)
早速テストしてみる。
昔Goの入門のために作った簡単なwikiアプリをDockerで動かしてみることにした。
前提条件として以下の設定を行っている。
- gitは既にインストール済み
- 別のアプリを
OCI
上で試すために既に3000ポートを開けるように設定しているので、今回Docker上で起動するアプリも3000ポートでアクセスを受け付けるようにする
# リポジトリをclone git clone https://github.com/shinshin86/gowiki.git cd gowiki/ docker build -t gowiki . # アプリ自体は8080ポートで受け付けているため、3000 -> 8080とするようにして起動 docker run -p 3000:8080 -it --rm --name running-gowiki gowiki
これでVMインスタンスのPublic IP:3000/view/test
にアクセスすると、wikiアプリにアクセスできる。
たぶん作ったのは正月とかだったのだろうか...?
備忘録は以上となる。