Docker for ICAPS
Docker のまとめ。
Docker Images for Robotics
Docker on Ubuntu
Docker for ICAPS(CLIPS)
■ 準備1a(Fedora)
Docker のインストール
sudo dnf install docker
龍大内から使う時は,Proxy 環境下での Docker の使用方法(Docker デーモンが systemd に管理されている場合)より,/lib/systemd/system/docker.service に以下を追記.
Environment='http_proxy=http://cache.st.ryukoku.ac.jp:8080/'
■ 準備1b(Ubuntu)
sudo apt-get install docker.io sudo mkdir -p /etc/systemd/system/docker.service.d cd /etc/systemd/system/docker.service.d echo "[Service] > http-proxy.conf echo "Environment=\"http_proxy=http://cache.st.ryukoku.ac.jp:8080/\" >> http-proxy.conf sudo systemctl daemon-reload sudo systemctl restart docker systemctl show --property=Environment docker
/etc/systems/system/docker.service.d のhttp-proxy.conf は,龍大から使いたいときのみ必要です.
■ 準備2(Fedora, Ubuntu)
sudo systemctl start docker sudo systemctl enable docker
Docker のテスト
sudo docker run --rm hello-world
Docker の準備
mkdir Docker cd Docker git clone https://github.com/timn/docker-robotics mkdir BabyTigers cd BabyTigers cp -r ../docker-robotics/rcll-sim-rosplan/* . sudo docker build -f Dockerfile.2016-f25-kinetic -t image:latest .
龍大内では,dnf でrepoが見つからないと怒られます。
Error: Failed to synchronize cache for repo 'updates'
龍大内では、dnf のproxy の設定が必要なので、Step 2を以下に書き換えます。
# Install additional ROSPlan dependencies RUN echo "proxy=http://cache.st.ryukoku.ac.jp:8080" >> /etc/dnf/dnf.conf && dnf install -y flex python2-pymongo && dnf clean all
ていうか環境変数の設定が必要なんですね.以下をDockerfile.2016-f25-kinetic の最初の方に追加しておきましょう.
ENV http_proxy http://cache.st.ryukoku.ac.jp:8080 ENV https_proxy $http_proxy RUN git config --global http.proxy $http_proxy RUN git config --global https.proxy $https_proxy
■ ICAPS2017 の準備
kbsg のサーバにログイン(一回やればOK)
sudo docker login registry.kbsg.rwth-aachen.de
□ ICAPS2017 のベース(CLIPS用)の作成
※これをやると,サーバのイメージを上書きしちゃうので,普段はやらないで下さい.
git clone https://github.com/timn/docker-robotics mkdir BabyTigers cp docker-robotics/fawkes-robotino BabyTigers/ cd BabyTigers sudo docker build -f Dockerfile.2016-f25-kinetic -t rcll-sim-babytigers:latest . sudo docker tag rcll-sim-babytigers:latest registry.kbsg.rwth-aachen.de/babytigers/rcll-sim-babytigers:latest sudo docker push registry.kbsg.rwth-aachen.de/babytigers/rcll-sim-babytigers:latest
■ ICAPS2017 のBabyTigres を使う
kbsg のdocker のイメージを取ってくるには,
sudo docker pull registry.kbsg.rwth-aachen.de/babytigers/rcll-sim-babytigers:latest sudo docker run --rm -ti registry.kbsg.rwth-aachen.de/babytigers/rcll-sim-babytigers:latest bash
□ ICAPS2017 にBabyTigers のイメージをupload
今はDockerfile.2016-f25-kinetic ではなく,Dockerfile.icaps2017-btr です.
※これをやると,サーバのイメージを上書きしちゃうので,普段はやらないで下さい.
sudo docker build -f Dockerfile.2016-f25-kinetic -t rcll-sim-babytigers:latest . sudo docker tag rcll-sim-babytigers:latest registry.kbsg.rwth-aachen.de/babytigers/rcll-sim-babytigers:latest sudo docker push registry.kbsg.rwth-aachen.de/babytigers/rcll-sim-babytigers:latest
■ fawkes-robotino の差し替え
btr2017 の下からスタート.
cd icaps2017/fawkes-robotino make clean -j4 rm bin/*.log cd .. tar zcvf ../docker/BabyTigers/fawkes-robotino-babytigers.tar.gz fawkes-robotino cd ../docker/BabyTigers sudo docker build -f Dockerfile.icaps2017-btr -t rcll-sim-babytigers:latest . sudo docker tag rcll-sim-babytigers:latest registry.kbsg.rwth-aachen.de/babytigers/rcll-sim-babytigers:latest sudo docker push registry.kbsg.rwth-aachen.de/babytigers/rcll-sim-babytigers:latest
現在,以下のDocerfile を使っています.
FROM timn/rcll-sim:2016-f25-kinetic RUN rm -rf /opt/fawkes-robotino ADD fawkes-robotino-babytigers.tar.gz /opt RUN ln -s /usr/include/xmlrpc.h /usr/include/XmlRpc.h RUN /bin/bash -c "source /opt/ros/$ROS_DISTRO/setup.bash && \ cd /opt/fawkes-robotino && \ make -j$(nproc) all gui ${VERBOSE_FLAG} CFLAGS_MTUNE_NATIVE= &&\ find . -name '.objs_*' -prune -exec rm -rf {} \; &&\ find . -name '.deps_*' -prune -exec rm -rf {} \;"
コメントを残す