我终于想出了如何让docker运行起来。

docker run --name my-forum-nodebb --link my-forum-redis:redis -p 80:80 -p 443:443 -p 4567:4567 -P -t -i nodebb/docker:ubuntu

我把它链接到一个redis实例,酷。

这是从头开始的,我假设当我创建了redis实例

docker run --name my-forum-redis -d -p 6379:6379 nodebb/docker:ubuntu-redis

它是从一个远程回收系统中提取的图像?

NodeBB提供了一个Dockerfile https://github.com/NodeBB/NodeBB/blob/master/Dockerfile,我不太确定如何使用它。我假设我可以通过在远程上调用这个Dockerfile来创建一个本地环境。

这对吗?如果是这样,我如何创建本地实例指向远程?


下载文件,然后在同一个目录下运行docker build -t nodebb。

这将在本地机器上提供一个名为nodebb的映像,您可以使用docker run -d nodebb启动容器(您可以将nodebb更改为自己的名称)。


不能从Dockerfile启动容器。

这个过程是这样的:

Dockerfile =[docker build]=> docker image =[docker run]=> docker容器

要启动(或运行)容器,您需要一个映像。要创建映像,您需要构建Dockerfile[1]。

[1]:你也可以从tarball或docker load中导入图像。


虽然其他答案也很有用,但这个确实对我很有帮助,所以我也把它放在这里。

从文档中可以看到:

无需指定上下文,您可以传入一个Dockerfile URL或管道文件通过STDIN。通过管道传输Dockerfile STDIN:

$ docker build - < Dockerfile

在Windows上使用Powershell,您可以运行:

Get-Content Dockerfile | docker build -

构建完成后,运行命令:

docker image ls

你会看到这样的东西:

REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
<none>                     <none>              123456789        39 seconds ago      422MB

复制实际的IMAGE ID,然后运行

docker run 123456789

哪里的数字在最后是实际的图像ID从前一步

如果您不想记住图像id,您可以通过标记图像

docker tag 123456789 pavel/pavel-build

哪个会将你的图像标记为pavel/pavel-build


简单明了的解决方法是:

docker build .
=> ....
=> Successfully built a3e628814c67
docker run -p 3000:3000 a3e628814c67

3000—可以是任何端口

A3e628814c68 -成功构建命令给出的哈希结果

注意:你应该在包含Dockerfile的目录中。


标题是什么把我带到这里,这是从Dockerfile直接运行一个容器。

docker build --no-cache . |  grep "Successfully built" | sed 's/Successfully built //g' | xargs -I{} docker run {}

使用docker桌面20.10.8

您可以使用docker-compose文件来命名和配置环境。

services:
    my_instance:
        build:
            context: .
            dockerfile: my_instance.dockerfile

然后运行/bin/bash或者其他什么。

为了https://docs.docker.com/compose/compose-file/compose-file-v3/ # dockerfile


我们可以看到docker文件在项目文件夹E:\Code SAmple\flutqr中

建造的命令

docker build -t fluweb .

Fluweb是图像的名称,您可以指定任何名称 . 表示当前目录

看看你的docker桌面,你可以看到你发布的图片,而不是rickandmorty(我编辑fluweb)。

如果你想重新运行那个映像,你可以使用 运行按钮。else

您可以使用该命令

docker run rickandmorty

现在它活了