如何在Docker中创建容器

时间:2016-08-22 09:41:30

标签: docker

我是码头工人的新手。我在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: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

现在我想为test-image创建一个名为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..

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

提前致谢。

4 个答案:

答案 0 :(得分: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 updateapt-get install作为单独的RUN命令运行。通过缓存,即使您添加要安装的新软件包,Docker也不会在将来重新运行您的更新,因此如果您尝试将新软件包添加到安装列表中,您将会收到错误。但主要的错误是您没有创建CMDENTRYPOINT来运行,因此您的容器将在后台启动一个shell并立即退出,因为没有输入到进程(可以使用-it选项提供,但您仍然无法运行Web服务器。)

仔细查看docker's Apache Dockerfile,了解如何在没有这些问题的情况下编写Dockerfile。或者,如果您的目标是简单地运行Apache,则可以run their image directly from hub

答案 1 :(得分:0)

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

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

答案 2 :(得分: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查看

答案 3 :(得分:0)

创建容器: enter image description here 开始一个包含 enter image description here 通过一个命令创建和启动容器: enter image description here

相关问题