教你如何从正在运行的容器创建 Docker 映像
在Docker中我们通常使用Docker镜像来运行我们的应用程序或服务。Docker容器是从镜像中创建的,但是当我们需要对镜像进行修改或更新时,我们可以从运行中的容器中创建一个新的镜像。接下来,我们将详细介绍如何从正在运行的容器中创建Docker镜像。
步骤如下:
1. 启动容器
首先,我们需要启动一个Docker容器。可以使用以下命令启动Ubuntu镜像:
docker run -it ubuntu:latest
这会启动一个带有Ubuntu操作系统的Docker容器,并进入容器的交互式Shell。
2. 在容器中进行更改
现在我们在容器中执行以下命令,并在容器中添加一个新文件:
echo "This is a test file" > test.txt
我们可以使用以下命令来验证test.txt文件是否存在:
ls
如果test.txt文件存在,我们就可以退出容器了:
exit
3. 创建一个新的Docker镜像
现在我们已经在容器内部添加了test.txt文件。我们需要从这个容器创建一个新的Docker镜像。
使用以下命令从容器创建新的Docker镜像:
docker commit <CONTAINER_ID> new_image_name
其中,
例如:
docker commit bc36c0c5bb15 my_new_image
4. 查看新创建的Docker镜像
现在我们已经成功创建了一个新的Docker镜像。可以使用以下命令列出所有可用的Docker镜像:
docker images
在输出中,应该可以看到刚刚创建的 my_new_image 镜像。
示例1
我们可以使用上述步骤来创建一个包含Nginx的镜像。首先,启动一个Nginx容器:
docker run -d --name my_nginx nginx
现在,我们在Nginx容器中添加一个新文件:
docker exec -it my_nginx bash
echo "This is a test file" > test.txt
退出容器并从其中创建新镜像:
exit
docker commit my_nginx new_nginx_image
现在,我们已经创建了一个包含Nginx和test.txt文件的新镜像。
示例2
我们也可以使用上述步骤从容器中创建一个PHP应用程序的镜像。首先,启动一个PHP容器:
docker run -d --name my_php_app php:7.4-apache
现在,我们在容器中添加我们的应用程序代码:
docker exec -it my_php_app bash
cd /var/www/html/
echo "<?php echo 'Hello, World!'; ?>" > index.php
退出容器并从其中创建新镜像:
exit
docker commit my_php_app new_php_app_image
现在,我们已经创建了一个包含PHP应用程序代码的新镜像。
总结
简而言之,从正在运行的容器中创建Docker镜像是一个方便、快捷的方法,用于在现有Docker镜像的基础上执行修改和更新。以上是从正在运行的容器创建Docker镜像的完整攻略,包括两个示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你如何从正在运行的容器创建 Docker 映像 - Python技术站