差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
public:it:docker [2015/03/05 10:18] oakfirepublic:it:docker [2021/09/26 10:14] (当前版本) – [docker 背后的技术] oakfire
行 1: 行 1:
-====== docker ======+====== Docker ======
 FIXME FIXME
- 
   * Official site: [[http://www.docker.com|docker.com]]   * Official site: [[http://www.docker.com|docker.com]]
-  * 我的博文, 时间过久, 可能失效:[[http://oak71.com/wp/archives/189|Linux application containers related]] +  * 我的博文, 时间过久, 可能失效:[[http://wp.joak.org/archives/189|Linux application containers related]] 
-  * 这个教程不错:[[http://yeasy.gitbooks.io/docker_practice/|Docker —— 从入门到实践]] <--了解个大概, 由于 docker 更新蛮快,还是要看官方文档.+  * <wrap tip />这个教程不错:[[http://yeasy.gitbooks.io/docker_practice/|Docker —— 从入门到实践]] <--了解个大概, 由于 docker 更新蛮快,还是要看官方文档
 +    * [[https://yeasy.gitbook.io/docker_practice/repository/registry|私有仓库相关]],包括怎么设置非https私有仓.
   * [[http://docs.docker.com/compose/| docker compose]] 原 fig    * [[http://docs.docker.com/compose/| docker compose]] 原 fig 
 ===== Tips ===== ===== Tips =====
   * 因为docker一个容器只支持运行一个前台, 所以在docker内使用supervisor来启动多个程序/服务更方便,更易管理.详见:[[http://blog.trifork.com/2014/03/11/using-supervisor-with-docker-to-manage-processes-supporting-image-inheritance/|Using supervisor with docker to manage processes]]   * 因为docker一个容器只支持运行一个前台, 所以在docker内使用supervisor来启动多个程序/服务更方便,更易管理.详见:[[http://blog.trifork.com/2014/03/11/using-supervisor-with-docker-to-manage-processes-supporting-image-inheritance/|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:<code>$ sudo docker exec -it container_name bash</code>+  * The ''docker exec'' command runs a new command in a running container.This will create a new Bash session in the container container_name:<code bash>$ sudo docker exec -it container_name bash</code
 +  * Dockerfile 的编写注意点: 
 +    * 一个 ''RUN'' 就会产生新的一层,所以尽量把安装过程写在一行; 
 +    * 仅仅''MAINTAINR'' 不同得到的image也会不同, 虽然功能完全一样. 所以最好确保同时只有一个或者干脆不写; 
 +    * 一些不依赖系统的程序可以使用 ''FROM scrach'' 来缩减所得 image 的大小. 
 +  * 删除所有容器 ''docker rm $(docker ps -aq)'' 
 +===== docker 背后的技术 ===== 
 +  * Linux Namespace: [[http://lwn.net/Articles/531114/|Namespaces in operation]], [[http://man7.org/linux/man-pages/man7/namespaces.7.html|Namespace man page]] 
 +  * Linux CGroup: [[http://coolshell.cn/articles/17049.html|coolshell's article]], [[https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html|Linux Kernel Cgroup Documents]] 
 +===== Mac docker ===== 
 +  * <wrap important>Mac Docker 目前(v1.13.0)不能在主机访问到 172.17.0.1(docker0)</wrap> 
 +    * 详见:[[https://github.com/docker/for-mac/issues/483]] 
 +  * <wrap important>Mac 进入休眠时,有可能会让容器时间不准。</wrap>
  
 +===== Docker Logs =====
 +  * container 默认标准输出 stdout stderr 会被 docker 以 json 格式记录到文件里。文件路径可用 <code bash>
 +docker inspect <container> | grep LogPath</code> 查看
 +  * 默认日志可用 ''docker logs <container>'' 查看,带时间戳加参数''-t''
 +  * 这些日志会随时间增多,需要做一些定期清理。
  
  
  
  • public/it/docker.1425521937.txt.gz
  • 最后更改: 2015/03/05 10:18
  • oakfire