FC2カウンター FPGAの部屋 2019年02月14日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Docker のUbuntu 16.04 イメージにVivado 2018.2 をインストールする2

Docker のUbuntu 16.04 イメージにVivado 2018.2 をインストールする”の続き。

前回は、”Docker でGUIを立ち上げる+sudoを使う方法”のDocker イメージにVivado 2018.2 をインストールして、インプリメンテーションすることができたが、Docker イメージが 38.8 GB となり、コンテナをイメージに書き戻すのが21分かかってしまった。今回はこれを解消するために -v オプションで共有ファイルシステムを使用して、Docker 上でのホーム・ディレクトリをホストのディレクトリにマップすることにより、イメージの容量を減らしてみよう。
なお、-v オプションはツィッターで@aster_ism さんに教えていただいた。ありがとうございました。

まずは、Docker ファイルはほとんど変更がないが、net-tools, gedit, nautilus を最初から apt-get でインストールするように変更した。

FROM ubuntu:16.04
 
RUN apt-get update && apt-get install -y x11-apps
RUN apt-get install -y sudo
RUN apt-get install -y net-tools gedit nautilus
 
# Replace 1000 with your user / group id
ARG uid=1000
ARG gid=1000
RUN groupadd -g ${uid} masaaki && \
    useradd -u ${gid} -g masaaki -G sudo -r masaaki && \
    mkdir /home/masaaki && \
    chown ${uid}:${gid} -R /home/masaaki

RUN echo 'Defaults visiblepw'             >> /etc/sudoers
RUN echo 'masaaki ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

USER masaaki
WORKDIR /home/masaaki


次に、build.sh を示す。

docker build -t vivado182ub16 .


boot.sh を示す。

docker run -ti --rm --name vivado182ub16c -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix -v /home/masaaki/Docker/vivado182ub16/masaaki:/home/masaaki vivado182ub16 /bin/bash


付け加えたのは、-v オプションでホストの/home/masaaki/Docker/vivado182ub16/masaaki をDocker 上の/home/masaaki としてマップしたことだ。

ホストの/home/masaaki/Docker/vivado182ub16 ディレクトリ上で ./build.sh を使ってDocker イメージを生成して、 ./boot.sh で走らせた。
Docker 上で、 mkdir Xilinx すると、ホストの/home/masaaki/Docker/vivado182ub16/masaaki ディレクトリでXilinx ディレクトリが作成された。うまく行っている。
docker_ce_25_190213.png

docker_ce_26_190213.png

ここからは、”Docker のUbuntu 16.04 イメージにVivado 2018.2 をインストールする”と同じやり方でVivado 2018.2 をインストールした。Vivado 2018.2 では同様のexample も走らせて、ビットストリームを生成できた。
docker_ce_27_190214.png

docker_ce_28_190214.png

ホストの/home/masaaki/Docker/vivado182ub16 ディレクトリを見ると、ホーム・ディレクトリの情報が保存されている。安心した。
docker_ce_30_190214.png

Docker を exit してから、ホストで docker image ls をして、イメージの大きさを見た。
docker_ce_29_190214.png

前回(ubuntu16gui)のイメージの容量は 38.8 GB だが、今回(vivado182ub16)のイメージの容量は 693 MB だった。今回のイメージの容量の方が少なく。コンテナからイメージへの変換時間も短いので、実用に使えそうだ。

ブログへのコメントで、sudo ではなく、gosu を使うようにとのメッセージが来ていたので、試してみようと思う。

  1. 2019年02月14日 04:54 |
  2. Docker
  3. | トラックバック:0
  4. | コメント:0