public:it:docker

这是本文档旧的修订版!


Docker

FIXME

  • 因为docker一个容器只支持运行一个前台, 所以在docker内使用supervisor来启动多个程序/服务更方便,更易管理.详见:Using supervisor with docker to manage processes
  • The docker exec command runs a new command in a running container.This will create a new Bash session in the container container_name:
    $ sudo docker exec -it container_name bash
  • Dockerfile 的编写注意点:
    • 一个 RUN 就会产生新的一层,所以尽量把安装过程写在一行;
    • 仅仅MAINTAINR 不同得到的image也会不同, 虽然功能完全一样. 所以最好确保同时只有一个或者干脆不写;
    • 一些不依赖系统的程序可以使用 FROM scrach 来缩减所得 image 的大小.
  • 删除所有容器 docker rm $(docker ps -aq)
  • container 默认标准输出 stdout stderr 会被 docker 以 json 格式记录到文件里。文件路径可用
    docker inspect <container> | grep LogPath

    查看

  • 默认日志可用 docker logs <container> 查看,带时间戳加参数-t
  • 这些日志会随时间增多,需要做一些定期清理。
  • public/it/docker.1632622496.txt.gz
  • 最后更改: 2021/09/26 10:14
  • oakfire