6
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Proxmoxでお手軽にDocker環境を作る

Last updated at Posted at 2023-05-29

Dockerのベース環境としては、for DesktopやWSL2などがありますが、今回はProxmoxにミニマルなLinux VMを立てて、その上に構築してみます。

使用する環境

  • Proxmox VE
  • Turnkey Core (Debianベース。軽いのと初期設定が少ないので気に入ってます)
  • Docker
  • Portainer (DockerをGUIで管理するミドルウェア)

結論

DockerをProxmox VMの上に構築することで、バックアップやスナップショットの便利さを得つつ、Portainerで手軽なデプロイができるので、検証環境としてオススメです。

VMの作成

Turnkey CoreのVMをISOから作成します。
image.png
image.png

Turnkey Core Linuxの設定

基本的にはウィザードの標準設定を進めていけば問題ありません。
image.png
Guidedを選びます。
image.png
rootパスワードを設定します。
image.png
カーネルやセキュリティのアップデートをします。
image.png
こちらのIPアドレスで起動が完了しました。
image.png

Dockerのインストール

SSHで接続し、以下のコマンドから自動インストールします。

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

起動の確認

systemctl status docker

RunningになっていればOKです。
(省略しましたが、Turnkey Core Linuxのタイムゾーンは前もってJSTにしておいたほうがいいと思います。)
image.png

Portainerのインストール

DockerをGUIで管理するミドルウェアです。こちらのマニュアル通りに行います。
https://thehomelab.wiki/books/docker/page/installing-docker-and-portainer-to-use-with-the-edge-agent

docker run -d \
--name="portainer" \
--restart on-failure \
-p 9000:9000 \
-p 8000:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest

Status: Downloaded newer image for portainer/portainer-ce:latest
という結果になっていれば成功です。

Portainerにアクセス

<DockerベースVMのIPアドレス>:9000にアクセスします。

初期パスワードを設定します。
image.png

Get Startedを選択。
image.png

EnvironmentsでLocalを選択。
image.png

コンテナ一覧が表示されます。右の「Add Containter」を選択します。
image.png

コンテナのデプロイ

今回、Apacheをデプロイしてみます。検索フォームからapacheで検索すると、httpdという名前であることが分かったので、再入力しています。
image.png

NAT用のポートをランダムにして、デプロイ開始。ポートは手動で指定することもできます。
image.png

Apacheが追加されました。右のPublished Portが「外部ポート:内部ポート」のNATの値になります。
image.png

動作確認

<DockerベースVMのIPアドレス>:32768にアクセスします。ポート番号は適宜変更してください。

Apacheが動作していたら完了です。
image.png

まとめ & メモ

  • DockerをProxmox VMの上に構築することで、バックアップやスナップショットの便利さを得つつ、Portainerで手軽なデプロイができるので、検証環境としてオススメです。
  • 今回コンテナのNATポートをランダムにしましたが、ProxmoxでのベースVMリストア後、ポートが変わってしまう現象がありました。ポートは手動で設定するのが良いかもしれません。

参考にさせていただいたサイト

Docker in Proxmox V7 LXC with Turnkey Core - Lower Resources by 80% Compared to VMs
https://www.youtube.com/watch?v=gXuLiglJceY

Installing Docker and Portainer to use With the Edge Agent
https://thehomelab.wiki/books/docker/page/installing-docker-and-portainer-to-use-with-the-edge-agent

6
10
3

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
6
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?