2018年3月12日星期一

docker

我的问题:
1.docker是什么?
2.docker的基本原理是什么?
3.docker的基础语句有哪些?
4.bazel 中的docker如何用?
5.既然bazel的编译步骤已经编译出了二进制文件,同样也将程序依赖的环境也包含了进去,那为什么还要docker?
也就是docker既然能把本机的环境全部复制到服务器上,那为什么还需要bazel编译应用程序为二进制文件?

1.Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

Docker通常用于如下场景:

  • web应用的自动化打包和发布;
  • 自动化测试和持续集成、发布;
  • 在服务型环境中部署和调整数据库或其他的后台应用;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
Docker系统有两个程序:docker服务端和docker客户端。其中docker服务端是一个服务进程,管理着所有的容器

Docker系统有两个程序:docker服务端和docker客户端。其中docker服务端是一个服务进程,管理着所有的容器。docker客户端则扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程。大部分情况下,docker服务端和客户端运行在一台机器上


我学习到的常用命令:
1. docker run -i -t ubuntu:15.10 /bin/bash 进入一个 ubuntu15.10系统的容器
  运行exit命令或者使用CTRL+D来退出容器
2. docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"    命令创建一个以进程方式运行的容器
3.  docker ps 查看容器
4.  docker logs 2b1b7a428627 查看容器里运行代码的打印日志
5.  docker stop 2b1b7a428627 退出容器



附录(相关学习资料):
[初学者资料]
初步理解        https://www.zhihu.com/question/28300645
进一步理解     http://blog.csdn.net/zjin_hua/article/details/52041757
学习               http://www.runoob.com/docker/docker-hello-world.html 

我看到的一个比较全面,易于理解的资料:

https://github.com/yeasy/docker_practice/blob/master/SUMMARY.md




没有评论:

发表评论

leetcode 17

17.   Letter Combinations of a Phone Number Medium Given a string containing digits from   2-9   inclusive, return all possible l...