如何使用修改后的本地Docker容器而不是Docker本地注册表中的早期版本

时间:2019-02-11 08:10:00

标签: docker docksal

我有一个本地Dockerfile,具有:

FROM webdevops/php-apache:7.2

... 我在Dockerfile中添加了几行并在本地构建:

docker build -t webdevops/php-apache:7.3

现在我要使用7.3版本的Docker容器。

我正在使用Docksal(https://docksal.io/)来抬起该容器和其他3个容器。 这样行吗?当我在Mac终端上执行命令$fin up时。 它将自动查找此容器标签的7.3版,并使用它?还是我需要做其他事情? 只是想确认一下,如果我不必更改:

FROM webdevops/php-apache:7.2

webdevops/php-apache:7.3

在这种情况下,它将在本地查找7.3版,并在注册表中使用它而不是7.2。

为清楚起见,添加了步骤和错误结果:

在Dockerfile中添加以下内容

ADD BCPSG.cer /etc/ssl/certs
RUN update-ca-certificates

运行命令:$ docker build -t webdevops / php-apache:7.3。

错误:

No releases available for package "pecl.php.net/mcrypt"
    install failed
    The command '/bin/sh -c pecl install mcrypt-1.0.1' returned a non-zero code: 1

可能的解决方法:

FROM php:7.2
RUN apt-get update \
&& apt-get install -y libmcrypt-dev \
&& rm -rf /var/lib/apt/lists/* \
&& pecl install mcrypt-1.0.1 \
&& docker-php-ext-enable mcrypt

1 个答案:

答案 0 :(得分:0)

是的,您可以删除该容器并使用此docker文件添加新容器。您是新创建的。

Docker ps

查找分配给特定容器的特定容器名称或标签

  

Docker rm“容器名称”

您还可以使用

删除所有容器
Docker rm $(docker ps -aq)

,并在删除旧容器后添加新容器。

  

Docker run -d -p port:容器端口imagename:tag