我已按照以下说明在此处制作图像:https://devcenter.heroku.com/articles/container-registry-and-runtime#getting-started
我已成功将图像发布到我的heroku应用程序中,我不知道下一步该如何访问zsh命令行并开发一些东西。我正在尝试在Heroku的docker容器中使用ROS(机器人操作系统)。
这是我的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的内容。
现在,在本地PC上,我只需运行此脚本即可激活容器并访问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
简而言之,由于ROS严重依赖于Qt,因此我还使GUI能够看到某些可视化效果,例如RViz。
那么,您能帮我如何在heroku上访问同一zsh命令行(使用推送的图像)吗?
答案 0 :(得分:0)
您可以通过以下命令找到所需的容器ID :
$ docker ps
然后您可以使用以下方法访问容器:
$ docker exec -it <desired-container-ID> bash