相关疑难解决方法(0)

Docker容器将在"docker run -d"后自动停止

根据我到目前为止阅读的教程,使用" docker run -d"将从图像启动一个容器,容器将在后台运行.这就是它的样子,我们可以看到我们已经有了容器ID.

root@docker:/home/root# docker run -d centos
605e3928cdddb844526bab691af51d0c9262e0a1fc3d41de3f59be1a58e1bd1d
Run Code Online (Sandbox Code Playgroud)

但如果我跑" docker ps",则没有任何回复.

所以我试过" docker ps -a",我可以看到容器已经退出:

root@docker:/home/root# docker ps -a
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                         PORTS               NAMES
605e3928cddd        centos:latest         "/bin/bash"         31 minutes ago      Exited (0) 31 minutes ago                          kickass_swartz
Run Code Online (Sandbox Code Playgroud)

我做错了什么?我该如何解决这个问题?

docker

277
推荐指数
11
解决办法
33万
查看次数

保持容器活着并使用docker-compose链接

我想用来docker-compose组合php和几个数据库(orientdb,neo4j等).然后进入php容器并使用shell执行命令.

单独地,我的所有容器都在游泳,当我把它们组合在一起时,它们都会运行.但是,我不能为我的生活弄清楚如何保持php容器活着,所以我可以进入它进行测试.

为简单起见,我只使用一个数据库:orient-db.

我的docker-compose.yml档案:

version: '2'
services:
  php:
    build: .
    links:
       - orientdb

  orientdb:
    image: orientdb:latest
    environment:
      ORIENTDB_ROOT_PASSWORD: rootpwd
    ports:
       - "2424:2424"
       - "2480:2480"
Run Code Online (Sandbox Code Playgroud)

我的"php" Dockerfile:

FROM php:5.6-cli
ADD . /spider
WORKDIR /spider
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer
RUN composer install --prefer-source --no-interaction

RUN yes | pecl install xdebug \
    && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini
Run Code Online (Sandbox Code Playgroud)

我试过(除其他外):

  • docker-compose up在一个终端然后docker attach在另一个终端
  • 启用tty …

php provisioning orientdb docker docker-compose

10
推荐指数
4
解决办法
9842
查看次数

使用“退出”后如何保留docker alpine容器?

例如,如果我使用命令,docker run -it alpine /bin/sh 它将启动一个终端,之后我可以安装软件包和所有软件包。现在,当我使用exit命令时,它会返回到终端。(主要一)

那么如何再次访问同一容器?当我再次运行该命令时,我得到了一个新的高山。

请帮忙

linux docker alpine-linux

8
推荐指数
2
解决办法
8199
查看次数

Docker ubuntu cron 尾部日志不可见

尝试运行具有 cron 调度的 docker 容器。但是我不能让它输出日志。

我正在使用 docker-compose。

docker-compose.yml

---
version: '3'
services:
  cron:
    build:
      context: cron/
    container_name: ubuntu-cron
Run Code Online (Sandbox Code Playgroud)

定时/Dockerfile

FROM ubuntu:18.10

RUN apt-get update
RUN apt-get update && apt-get install -y cron 

ADD hello-cron /etc/cron.d/hello-cron

# Give execution rights on the cron job
RUN chmod 0644 /etc/cron.d/hello-cron

# Create the log file to be able to run tail
RUN touch /var/log/cron.log

# Run the command on container startup
CMD cron && tail -F /var/log/cron.log
Run Code Online (Sandbox Code Playgroud)

cron/你好-cron

* * * * * …
Run Code Online (Sandbox Code Playgroud)

cron logging tty docker docker-compose

6
推荐指数
2
解决办法
3067
查看次数

Visual Studio 2019 中带有 docker run 入口点的 tail 命令是什么?

我正在运行 Windows 10 专业版,安装了 docker 和 linux 容器。

使用 Visual Studio 2019,我创建了一个基本的 .net 核心 Web api 应用程序,并启用了 docker 支持(linux)。

我构建了解决方案,在输出窗口(视图 -> 输出或 Ctrl + Alt + O)中,我在“显示输出自”下拉列表中选择了“容器工具”。滚动到最后(参见下图中的滚动条),您将看到 docker run 命令的入口点选项,如下所示。

--entrypoint tail webapp:dev -f /dev/null
Run Code Online (Sandbox Code Playgroud)

您的 ref 的整个 docker run 命令如下。

docker run -dt -v "C:\Users\MyUserName\vsdbg\vs2017u5:/remote_debugger:rw" -v "D:\Trials\Docker\VsDocker\src\WebApp:/app" -v "D:\Trials\Docker\VsDocker\src:/src" -v "C:\Users\UserName\.nuget\packages\:/root/.nuget/fallbackpackages" -e "DOTNET_USE_POLLING_FILE_WATCHER=1" -e "ASPNETCORE_ENVIRONMENT=Development" -e "NUGET_PACKAGES=/root/.nuget/fallbackpackages" -e "NUGET_FALLBACK_PACKAGES=/root/.nuget/fallbackpackages" -P --name WebApp --entrypoint tail webapp:dev -f /dev/null 
Run Code Online (Sandbox Code Playgroud)

所以我的问题是这个“尾巴”是什么。我看到了两个这样的问题(这个这个),但没有得到太多。同样从这里开始,tail 似乎是一个 linux 命令(我正在运行一个 linux 容器)但是它在这里做什么? …

docker visual-studio-2019

5
推荐指数
1
解决办法
1588
查看次数