docker学习笔记

Posted on Posted in docker
Tips: 本文创建于2015年1月14日,已超过 2 年,内容或图片可能已经失效!

docker

  1. curl https://get.docker.io/ubuntu/ | sh  
  2.   
  3. root@ubuntu:/etc/default# docker info  
  4. Containers: 0  
  5. Images: 0  
  6. Storage Driver: aufs  
  7.  Root Dir: /var/lib/docker/aufs  
  8.  Dirs: 0  
  9. Execution Driver: native-0.2  
  10. Kernel Version: 3.13.0-24-generic  
  11. Operating System: Ubuntu 14.04 LTS  
  12. CPUs: 1  
  13. Total Memory: 986.8 MiB  
  14. Name: ubuntu  
  15. ID: LX4F:PRDR:RGIJ:JZIF:ODSF:7G44:6Y2B:PH7P:E5HM:NOPH:3LBL:655V  
  16. WARNING: No swap limit support  
  17. # 为了防止经常性的sudo,可以把用户加入到docker组中  
  18. # If you would like to use Docker as a non-root user, you should now consider  
  19. # adding your user to the "docker" group with something like:  
  20. sudo usermod -aG docker your-user  
  21. # Remember that you will have to log out and back in for this to take effect!  
  22.   
  23. status docker  
  24. docker start/running, process 2703  
  25.   
  26. /etc/default/docker  
  27. /var/log/upstart/docker.log  
  28. /var/lib/docker  
  29.   
  30.   
  31. docker run -it ubuntu /bin/bash  
  32. docker run --name container-name ubuntu /bin/bash  
  33.   
  34. docker start container-name  
  35. docker start ID  
  36. docker restart container-name  
  37. docker stop container-name  
  38.   
  39. docker run --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello; sleep 1; done"  
  40. docker logs daemon_dave  
  41. docker logs -f daemon_dave  #动态查看容器日志(所有)  
  42. docker logs --tail 10 daemon_dave   #查看最后10条日志  
  43. docker logs --tail 0 -f daemon_dave #动态查看日志(从新出现的开始)  
  44. docker logs -ft daemon_dave #在每条日志前面加上时间  
  45. docker top daemon_dave  
  46. docker exec -d daemon_dave touch /etc/net_config_file   #在容器中执行命令  
  47. docker exec -it daemon_dave /bin/bash   #打开一个容器shell,exit不会退出容器  
  48. docker ps -n 2  #显示最后2个容器,无论停止还是运行  
  49. #检查容器的退出代码  
  50. docker run --restart=always --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello; sleep 1; done"  
  51. docker run --restart=on-failure:5 --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello; sleep 1; done"  
  52. docker inspect daemon_dave  #查看容器的详细信息  
  53. docker inspect --format='{{ .State.Running }}' daemon_dave  #查看容器的运行状态,返回true和false  
  54. docker inspect --format '{{ .NetworkSettings.IPAddress}}' daemon_dave   #查看容器IP  
  55. docker rm ID或name  
  56. docker rm `docker ps -a -q`  
  57. docker ps -l -q #得到刚创建的容器ID  
  58.   
  59. docker images  
  60. docker pull ubuntu  #拉取最后latest版  
  61. docker run -it --name new_container ubuntu:latest /bin/bash  
  62. docker search puppet    #搜索镜像  
  63.   
  64. docker login  
  65. Username: dreamoon  
  66. Password:   
  67. Email: sma.flirt@gmail.com  
  68. Login Succeeded #登录
    后个人认证信息会保存到$HOME/.dockercfg文件中
      
  69. #创建镜像  
  70. docker commit ID dreamoon_ubuntu/apache2  
  71. docker commit -m="ubuntu apache2" --author="dreamoon" cfc2b8457278 dreamoon_ubuntu/apache2:webserver  
  72.   
  73. root@ubuntu:~# mkdir static_web  
  74. root@ubuntu:~# cd static_web/  
  75. root@ubuntu:~/static_web# touch Dockerfile  
  76. root@ubuntu:~/static_web# vim Dockerfile   
  77. # Version:0.0.1  
  78. FROM ubuntu:latest  
  79. MAINTAINER Dreamoon "sma.flirt@gmail.com"  
  80. RUN apt-get update  
  81. RUN apt-get install -y nginx  
  82. RUN echo 'Hi, I am in your container' > /usr/share/nginx/html/index.html  
  83. EXPOSE 80  
  84. root@ubuntu:~/static_web# docker build -t="dreamoon/static_web"  
  85. #如果在中间第3步失败,重新构造会重新从第3步开始,docker有缓存,如果不希望有缓存  
  86. root@ubuntu:~/static_web# docker build --no-cache -t="dreamoon/static_web"  
  87. #基于缓存构建Dockerfile模版,如果不需要缓存,直接更改环境变量的时间就OK  
  88. FROM ubuntu:latest  
  89. MAINTAINER Dreamoon "sma.flirt@gmail.com"  
  90. ENV REFRESHED_AT 2015-01-13  
  91. RUN apt-get update  
  92. #如果想查看镜像是如何构建的  
  93. docker history dreamoon/static_web  
  94. #从新镜像启动容器,-p选项,宿主机选择一个随机的端口映射到容器80上  
  95. docker run -d -p 80 --name static_web dreamoon/static_web nginx -g "daemon off;"  
  96. docker run -d -p 8080:80 --name static_web dreamoon/static_web nginx -g "daemon off;"  
  97. docker run -d -p 127.0.0.1:80 --name static_web dreamoon/static_web nginx -g "daemon off;"  
  98. #查看端口映射情况  
  99. docker port static_web 80  
  100. #把镜像推到hub上  
  101. docker push dreamoon/static_web  
  102. docker rmi ID   #删除镜像  
  103.   
  104. #上传到私有仓库  
  105. docker run -p 5000:5000 registry  
  106. docker images dreamoon/static_web  
  107. docker tag ID localhost:5000/dreamoon/static_web  
  108. docker push localhost:5000/dreamoon/static_web  
  109. #在私有仓库中搜索镜像  
  110. curl -XGET http://lhh-mac:5000/v1/search?q=ubuntu  
  111. 或  
  112. docker search lhh-mac:5000/ubuntu  
» 转载请注明来源:若我若鱼 » docker学习笔记

Leave a Reply

Your email address will not be published. Required fields are marked *

3 × three =