Как я могу получить доступ к своему док-контейнеру в Heroku? - PullRequest
0 голосов
/ 13 октября 2018

Я следовал инструкциям по созданию изображения здесь: https://devcenter.heroku.com/articles/container-registry-and-runtime#getting-started

Я успешно выпустил свой образ в свое приложение heroku, и я не знаю, что делать дальше, чтобы получить доступ к моей командной строке zsh иразвивая некоторые вещи.Я пытаюсь использовать ROS (операционную систему робота) в докер-контейнере на Heroku.

Это мой Dockerfile:

FROM osrf/ros:kinetic-desktop-full
RUN apt-get update && apt-get install -y \
            locales \
        tmux \
        zsh \
        curl \
        wget \
        vim \
        emacs24 \
        sudo \
        libgl1-mesa-glx \
        libgl1-mesa-dri \
        mesa-utils \
        unzip \
        && rm -rf /var/likb/apt/lists/*
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
CMD ["zsh"]

Как видите, я просто устанавливаю ROS и базовые пакетывместе с командной строкой zsh.Это то, что я загрузил в Heroku, используя их инструкции.

Теперь на своем локальном ПК я просто запускаю этот скрипт, чтобы сделать мой контейнер активным, получить доступ к командной строке zsh и дальше развивать свою ROS (как я сделал бы,используя обычную линию bash):

#! /bin/bash

xhost +local:
docker run -it --net=host \
--user=$(id -u) \
-e DISPLAY=$DISPLAY \
-e QT_GRAPHICSSYSTEM=native \
-e CONTAINER_NAME=ros-kinetic-dev \
-e USER=$USER \
--workdir=/home/$USER \
-v "/tmp/.X11-unix:/tmp/.X11-unix" \
-v "/etc/group:/etc/group:ro" \
-v "/etc/passwd:/etc/passwd:ro" \
-v "/etc/shadow:/etc/shadow:ro" \
-v "/etc/sudoers.d:/etc/sudoers.d:ro" \
-v "/home/$USER/:/home/$USER/" \
--device=/dev/dri:/dev/dri \
--name=ros-kinetic-dev \
kinetic:dev

Короче говоря, я также включаю графический интерфейс, чтобы увидеть некоторую визуализацию, такую ​​как RViz, поскольку ROS сильно зависит от Qt.

Итак, можноВы помогаете мне узнать, как я могу получить доступ к той же командной строке zsh на heroku (используя мое изображение с расширением)?

1 Ответ

0 голосов
/ 20 октября 2018

Вы можете найти нужный идентификатор контейнера с помощью следующей команды:

$ docker ps

Затем вы можете получить доступ к контейнеру, используя:

$ docker exec -it <desired-container-ID> bash
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...