Docker在容器内部构建安装

时间:2018-03-28 15:43:37

标签: docker docker-compose ubuntu-16.04

有没有一种方便的方法可以找到容器生成后在docker容器内进行的所有安装和更改?因为不建议将更改提交到新映像,所以我如何才能轻松找到所有更改,以便将它们放入Dockerfile?




2 个答案:

答案 0 :(得分:1)

有多种方法可以获得有用的信息。

要获取容器的日志,请使用docker logs命令,语法为:

# docker logs [OPTIONS] CONTAINER

有关可用选项的完整列表,请运行:

# docker logs --help

您还可以将命令的输出传递给grep等工具以过滤输出。见下面的例子。

# docker run  -it --rm --name test ubuntu:16.04 /bin/bash
root@fde8369a7439:/# apt-get update
root@fde8369a7439:/# apt-get install nginx
root@fde8369a7439:/# apt-get install vim

现在检查日志,grep apt-get

# docker logs test | grep apt-get

如果要将日志保存到docker主机上的文件,请使用:

# docker logs test > test_logs

您还可以利用容器的bash历史来提取有关您所做的事情的信息:

# docker exec container cat /root/.bash_history

docker diff命令通常用于检查容器文件系统上文件或目录的更改。它不会为您提供执行但已修改文件的确切命令。

答案 1 :(得分:0)

docker container diff就是您所需要的:https://docs.docker.com/engine/reference/commandline/container_diff/