DockerでQGISがインストールされたコンテナ(Ubuntu20.04)を作成し起動する
DockerでQGISがインストールされたコンテナ(Ubuntu20.04)を作成し起動します.
全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】
# ファイル構成
qgis_docker
├── /workspace
├── docker-compose.yml
└── DockerFile
# Dockerfileの作成
下記のサイトのDockerfileから一部を書き換えます.
DockerでQGISとXfce、TigerVNCがインストールされたコンテナ(Ubuntu20.04)を作成する (opens new window)
書き換えは,下記の通りです. QGISのキーを入力
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-key 46B5721DBBD2996A \<br>
gnome-screensaver前にアップデート
&& apt-get update \
&& apt-get -y install gnome-screensaver \
DockerFile
from ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
run apt-get update \
&& apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade \
&& apt-get install -y language-pack-ja-base language-pack-ja \
&& ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
&& echo 'Asia/Tokyo' > /etc/timezone \
&& locale-gen ja_JP.UTF-8 \
&& echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
&& echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
LANGUAGE=ja_JP.UTF-8 \
LC_ALL=ja_JP.UTF-8
run apt-get -y install \
xubuntu-desktop \
xfce4-terminal \
tigervnc-standalone-server \
expect \
fcitx-mozc \
fonts-ipafont-gothic \
fonts-ipafont-mincho \
vim \
gvfs-bin \
xdg-utils \
&& wget -qO - https://qgis.org/downloads/qgis-2020.gpg.key | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/qgis-archive.gpg --import \
&& chmod a+r /etc/apt/trusted.gpg.d/qgis-archive.gpg \
&& echo "deb http://qgis.org/debian focal main" >> /etc/apt/sources.list \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-key 46B5721DBBD2996A \
&& apt-get update \
&& apt-get -y install qgis python-qgis qgis-plugin-grass \
&& apt-get -y install unzip \
&& wget http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip \
&& unzip ne_110m_admin_0_countries.zip \
&& apt-get -y remove --purge light-locker \
&& apt-get update \
&& apt-get -y install gnome-screensaver \
&& im-config -n fcitx \
&& apt-get clean \
&& rm -rf /var/cache/apt/archives/* \
&& rm -rf /var/lib/apt/lists/* \
&& groupadd -g 1000 ubuntu \
&& useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
&& echo 'ubuntu:ubuntu' | chpasswd \
&& echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
&& echo 'spawn "tigervncpasswd"' >> /tmp/initpass \
&& echo 'expect "Password:"' >> /tmp/initpass \
&& echo 'send "ubuntu\\r"' >> /tmp/initpass \
&& echo 'expect "Verify:"' >> /tmp/initpass \
&& echo 'send "ubuntu\\r"' >> /tmp/initpass \
&& echo 'expect "Would you like to enter a view-only password (y/n)?"' >> /tmp/initpass \
&& echo 'send "n\\r"' >> /tmp/initpass \
&& echo 'expect eof' >> /tmp/initpass \
&& echo 'exit' >> /tmp/initpass \
&& sudo -u ubuntu -H /bin/bash -c '/usr/bin/expect /tmp/initpass' \
&& mkdir -p /home/ubuntu/.vnc \
&& chown ubuntu:ubuntu /home/ubuntu/.vnc \
&& echo '#!/bin/sh' >> /home/ubuntu/.vnc/xstartup \
&& echo 'export LANG=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
&& echo 'export LC_ALL=ja_JP.UTF-8' >> /home/ubuntu/.vnc/xstartup \
&& echo 'export XMODIFIERS=@im=fcitx' >> /home/ubuntu/.vnc/xstartup \
&& echo 'export GTK_IM_MODULE=fcitx' >> /home/ubuntu/.vnc/xstartup \
&& echo 'fcitx -r -d &' >> /home/ubuntu/.vnc/xstartup \
&& echo 'exec startxfce4' >> /home/ubuntu/.vnc/xstartup \
&& chmod +x /home/ubuntu/.vnc/xstartup \
&& mkdir -p /home/ubuntu/data \
&& chown -R ubuntu:ubuntu /home/ubuntu/data
expose 5901
volume ["/home/ubuntu/data"]
# docker-compose
docker-compose.ymlを作成します.
docker-compose.yml
version: "3"
services:
qgis_vnc:
build:
context: .
dockerfile: Dockerfile
user: 1000:1000
ports:
- 5901:5901
tty: true
privileged: true
volumes:
- ./workspace:/home/ubuntu/data
working_dir: /home/ubuntu/data
command: /usr/bin/vncserver :1 -localhost no -geometry 1152x864 -alwaysshared -fg
# コンテナの起動
下記のコードでimage構築,コンテナ起動,コンテナ停止を実行します.
# image構築
docker-compose build --no-cache
# コンテナ起動
docker-compose up -d
# コンテナ停止
docker-compose stop
# サーバーに接続
Finderのメニューバーの「移動→サーバへ接続→vnc://localhost:5901」へ接続します.
パスワードはubuntuです.
# まとめ
ここまでで,DockerでQGISがインストールされたコンテナ(Ubuntu20.04)を作成し起動までしました.
# 参考サイト
DockerでQGISとXfce、TigerVNCがインストールされたコンテナ(Ubuntu20.04)を作成する (opens new window)
QGIS Documentation 18.2.5. コンテナ化された配備 (opens new window)
Error adding qgis.org repository public key to apt keyring (opens new window)
apt : Ubuntu 20.04にgnome-control-centerをインストールする方法 (opens new window)
docker-compose up
とか build
とか start
とかの違いを理解できていなかったのでまとめてみた (opens new window)
Dockerで実行ユーザーとグループを指定する (opens new window)
Docker でユーザ名を指定してコンテナを起動する (opens new window)
docker-compose の ports 指定まとめ (opens new window)
Dockerへvnc接続する (opens new window)
Dockerコンテナの内部IPアドレスを確認する方法 (opens new window)
kartoza/docker-qgis-desktop (opens new window)