我在Digital Ocean上安装了一个基于Ubuntu的droplet,安装了Docker,并在那里上传了我的Docker图像。我桌面上的tar文件。我上传了这张图片。tar文件进入/home/newuser/app目录。接下来,我加载了图像。使用以下命令进行tar:
sudo docker load -i image.tar
图像已加载。我查过了。
当我运行以下行时,我看不到我的图像应用程序在公共IP上连接到我的水滴实例:
sudo docker run image
或
sudo docker run -p 80:80 image
你们是怎么处理这件事的?
这是dockerfile:
FROM r-base:3.5.0
# Install Ubuntu packages
RUN apt-get update && apt-get install -y \
sudo \
gdebi-core \
pandoc \
pandoc-citeproc \
libcurl4-gnutls-dev \
libcairo2-dev/unstable \
libxt-dev \
libssl-dev
# Add shiny user
RUN groupadd shiny \
&& useradd --gid shiny --shell /bin/bash --create-home shiny
# Download and install ShinyServer
RUN wget --no-verbose https://download3.rstudio.org/ubuntu-14.04/x86_64/shiny-server-1.5.7.907-amd64.deb && \
gdebi shiny-server-1.5.7.907-amd64.deb
# Install R packages that are required
RUN R -e "install.packages(c('Benchmarking', 'plotly', 'DT'), repos='http://cran.rstudio.com/')"
RUN R -e "install.packages('shiny', repos='https://cloud.r-project.org/')"
# Copy configuration files into the Docker image
COPY shiny-server.conf /etc/shiny-server/shiny-server.conf
COPY /app /srv/shiny-server/
# Make the ShinyApp available at port 80
EXPOSE 80
# Copy further configuration files into the Docker image
COPY shiny-server.sh /usr/bin/shiny-server.sh
CMD ["/usr/bin/shiny-server.sh"]
闪亮服务器的代码。形态:
# Define the user we should use when spawning R Shiny processes
run_as shiny;
# Define a top-level server which will listen on a port
server {
# Instruct this server to listen on port 80. The app at dokku-alt need expose PORT 80, or 500 e etc. See the docs
listen 80;
# Define the location available at the base URL
location / {
# Run this location in 'site_dir' mode, which hosts the entire directory
# tree at '/srv/shiny-server'
site_dir /srv/shiny-server;
# Define where we should put the log files for this location
log_dir /var/log/shiny-server;
# Should we list the contents of a (non-Shiny-App) directory when the user
# visits the corresponding URL?
directory_index on;
}
}
和闪亮服务器的代码。上海:
# Make sure the directory for individual app logs exists
mkdir -p /var/log/shiny-server
chown shiny.shiny /var/log/shiny-server
exec shiny-server >> /var/log/shiny-server.log 2>&1
当您使用-p 80:80运行容器时,实际上不需要在docker文件中公开端口80,除非可能是作为对其他人的提示:https://forums.docker.com/t/what-is-the-use-of-expose-in-docker-file/37726/2
您可能应该发布您的闪亮服务器。conf,但我确定您没有指定任何端口(在这种情况下,Shining server在端口3838上启动)或指定80以外的端口。请确保在配置文件中修改这一行:
listen 3838
我有一张docker的图片,在数字海洋的3000号端口上运行。 我做了一些更新,创建了一个新的图像,并将其推送到我的github软件包中。 我以为当我推新图片时,旧图片会被覆盖,但我得到一个错误,说 “绑定0.0.0.0:3000失败:端口已分配”。 当我得到上述信息时,我运行以下命令: 这让我觉得我可以删除旧图像并添加新图像,但这似乎并不理想,但我还没有找到可以覆盖/更新新图像的命令。 这可能吗
我遵循这个指南,在Ubuntu(LAMP stack)上为Digital Ocean设置Laravel 5.1。当我尝试通过单击鼠标访问我的Laravel应用程序时,我得到: 我先安装Composer,然后安装Laravel,然后安装目录在我的路径中“这样您的系统就可以找到laravel可执行文件。” : 然后按照这个指南改变我的webroot,这样我就可以像Laravel期望的那样从提供服务:
我安装了一个postgres docker容器和Spring启动应用程序作为另一个docker容器。但是Spring Boot应用程序无法连接到数据库。 这是我的数据库连接代码: 请注意,数字海洋也有私人IP地址。我也试过。即使有localhost和127.0.0.1 我运行postgres如下: 我的Dockerfile: 以下是docker-compose.yml文件。 当我尝试docker-
海洋是3D地球表面表示海洋的特定区域,在Gio地球表面,海洋是最暗的区域。海洋的默认亮度是0.5。 可以通过 configure() API来设置海洋的亮度,具体设置方式如下所示: controller.configure({ brightness: { ocean:0.8 } }); 也可以通过 adjustOceanBrightn
我需要打印一个直方图,如下所示: }//结束直方图
我在nginx代理的Digital Ocean Droplet中有几个项目,我想用pm2开始所有的项目,我看到我可以用一个带有名称和脚本的。json文件来实现这一点,但它似乎不起作用,这是我所做的: 我的droplet目录和项目: 项目1 项目2 pm2-apps.json pm2-apps.json 然后我跑 但是当我输入url时,项目似乎没有正确安装,如果我在项目文件夹中的中分开运行每个项目,