如何在Docker中创建容器

问题描述 投票:0回答:4

我是码头工人的新手。我已经在 docker 中创建了一个镜像。当我尝试创建容器时出现错误。不确切知道如何创建容器。 我的 Dockerfile:

    FROM ubuntu:14.04
    RUN apt-get update --fix-missing
    RUN DEBIAN_FRONTEND=noninteractive apt-get -y install php5 php5-common php5-dev php5-json php5-mysql php5-cli php5-curl php5-imap php5-mcrypt php5-readline apache2 libapache2-mod-php5
    ENV APACHE_RUN_USER www-data
    ENV APACHE_RUN_GROUP www-data
    ENV APACHE_LOG_DIR /var/log/apache2
    RUN chown -R www-data:www-data /var/www/
    RUN a2enmod rewrite
    EXPOSE 80

我使用此命令创建了一个名为 test-image 的图像:

   docker build -t test-image .

我的 docker 镜像是:docker:images

      REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
    cli-image                               latest              245dbd83afa4        4 hours ago         421.3 MB
    test-image                              latest              245dbd83afa4        4 hours ago         421.3 MB
    pma                                     latest              073a46684e78        3 weeks ago         57.64 MB
    mysql                                   latest              14b396e4d628        3 weeks ago         156.3 MB
    debian                                  latest              1b01529cc499        3 weeks ago         125.1 MB
    ror                                     latest              dd1f2f09425e        3 weeks ago         778.5 MB
    alpine                                  3.3                 47cf20d8c26c        8 weeks ago         4.797 MB
    buildpack-deps                          jessie              877c36103ed7        10 weeks ago        619.5 MB
    tnqdockerregistry.com:5000/scrutinzer   latest              f7daff1a756f        6 months ago        96.28 MB
    vtool                                   latest              f726e6601c45        8 months ago        956 MB
    vtooljava                               latest              f726e6601c45        8 months ago        956 MB
    rmqimage                                latest              c6a9a19e3288        8 months ago        254.3 MB
    ubuntu                                  14.04               06ab2de020f4        8 months ago        187.9 MB
    hello-world                             latest              690ed74de00f        10 months ago       960 B

现在我想为测试图像创建一个名为testing-container的容器。

我输入此命令来创建容器:

   docker run -i -t test-image -d testing-container

我收到此错误:

   docker: Error response from daemon: Container command '-d' not found or does not exist..

我不知道该怎么做。 谁能告诉我吗?

提前致谢。

docker
4个回答
2
投票

要深入了解命令中的错误消息:

docker run -i -t test-image -d testing-container

在图像名称之后,以下每个选项/参数都会传递到要运行的容器(或作为参数传递给您的

ENTRYPOINT
)。在上面的命令中,
-t
不需要参数,因此
test-image
是您的图像名称。该映像使用命令
-d testing-container
作为容器运行,并且 docker 正确地告诉您未找到可执行文件
-d

要运行名为testing-container的分离容器,它与Maxim的命令非常相似:

docker run -d --name=testing-container -p 8080:80 test-image

但请注意,这将无法正常工作,因为您的 Dockerfile 有一些问题。小一点是您将

apt-get update
apt-get install
作为单独的
RUN
命令运行。通过缓存,即使您添加要安装的新软件包,Docker 将来也不会重新运行更新,因此如果您尝试将新软件包添加到安装列表中,您将会收到错误消息。但主要错误是您没有创建
CMD
ENTRYPOINT
来运行,因此您的容器将在后台启动 shell 并立即退出,因为没有要处理的输入(可以使用
-it 给出) 
选项,但您仍然不会运行网络服务器)。

查看 docker 的 Apache Dockerfile,以更好地了解如何编写没有这些问题的 Dockerfile。或者,如果您的目标只是运行 Apache,您可以 直接从 hub 运行他们的映像


0
投票

可以使用此官方链接创建一个非常简单且容易的创作:

https://docs.docker.com/engine/tutorials/dockerimages/


0
投票

使用 docker run 命令。

举个例子:

docker run -t --name=testing-container -p <your-local-ip>:8080:80 test-image

ctrl+c

docker exec -it testing-container /bin/bash
root@3b9ff3f91a56:/# service apache2 restart

然后前往

http://<your-local-ip>:8080
查看此内容


0
投票

创建容器:

启动容器

通过一个命令创建并启动容器:

© www.soinside.com 2019 - 2024. All rights reserved.