如何从DockerFile运行Docker示例?

eoxn13cs  于 2022-12-11  发布在  Docker
关注(0)|答案(7)|浏览(258)

我终于知道怎么让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提供了一个Dockerfilehttps://github.com/NodeBB/NodeBB/blob/master/Dockerfile,我不太清楚如何使用它。我假设我可以通过在我的遥控器上调用这个Dockerfile来创建一个本地环境。
这是正确的吗?如果是,我如何创建指向远程的本地示例?

kcugc4gi

kcugc4gi1#

下载文件,并从同一目录运行docker build -t nodebb .
这将在本地机器上给予一个名为nodebb的映像,您可以使用docker run -d nodebb从该映像启动容器(您可以将nodebb更改为您自己的名称)。

xxb16uws

xxb16uws2#

虽然其他答案是可用的,这真的帮助了我,所以我也把它放在这里。
从文档中:
您可以在URL中传递一个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

mwg9r5ms

mwg9r5ms3#

不能从Dockerfile启动容器。
过程如下:
停靠文件**=[ docker build ]=〉停靠映像=[ docker run ]=〉**停靠容器
要启动(或运行)容器,您需要映像。要创建映像,您需要构建Dockerfile[1]。
[1]:您也可以docker import压缩包中的图像或docker load

xmq68pz9

xmq68pz94#

直截了当而又容易的解决办法是:

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

3000-可以是任何端口
a3e628814c68-success生成命令给出哈希结果

注意:您应该位于包含Dockerfile目录中。

1u4esq0p

1u4esq0p5#

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

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

piwo6bdm6#

20.10.8带Docker桌面
您可以使用Dock合成文件来命名和配置您的环境。

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

然后docker compose updocker compose run /bin/bash或其他什么。
根据https://docs.docker.com/compose/compose-file/compose-file-v3/#dockerfile

dldeef67

dldeef677#

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

生成命令

docker build -t fluweb .
  • fluweb是图像的名称,您可以指定任何名称
  • .表示当前目录

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

如果你想重新运行图像,你可以使用运行按钮。


可以使用以下命令

docker run rickandmorty

现在它活

相关问题