天天看点

奇怪的知识又增加了2——软件部署 & Docker

奇怪的知识又增加了2——软件部署 & Docker

      • 部署
      • Docker:Build once,Run anywhere

部署

  1. 什么是部署

    一般,软件从研发到用户使用包括开发和部署两个环节,其中,部署就是让写的程序或者开发的产品在某一个环境下跑起来。按环境的不同,可以分为远程部署和本地部署。

    解决问题:为什么在我的电脑上跑得起来,放另一台电脑就不行?

  2. 怎么去部署

    从源代码生成软件包 -----> 软件包放到某一环境 -----> 配置目标环境使得软件运行。

    (啊,乍一看,好像废话)

Docker:Build once,Run anywhere

  1. 简单/通俗:如何通俗解释Docker是什么? - 周宇刚的回答 - 知乎
  2. 生动/形象:如何通俗解释Docker是什么? - 小枣君的回答 - 知乎
  3. Docker包括镜像、容器和仓库三个重要的概念,以C++的角度,镜像可以看作类,容器是对象,仓库就是库。Docker是管理这些内容的工具。

镜像(Image)

Docker镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。但没有动态的数据,是只读的。

容器(Container)

Docker容器与镜像几乎一样,但是可读写的。

仓库(Repository)

Docker Registry(仓库注册服务器)负责存储和分发镜像,每个Registry可以有多个Repository,每个Repository可以包含多个标签(Tag),每个标签对应着一个镜像。

  1. 虚拟机与Docker:Docker的容器技术更为轻量化。
虚拟机 Docker
隔离级别 操作系统级 进程级
启动时间 分钟级 秒级
镜像存储 GB~TB KB~MB
集群规模 上百 上万
  1. Docker的拉取、运行、退出
sudo docker login xxxxx		# 登陆
sudo docker pull yyyyy:tag 	# 拉取
sudo docker run -ti yyyyy	# 运行
			## -t		tty
			## -i		interactive
			## --net		Connect a container to a network
			## --ipc		IPC mode to use
			## --device	Add a host device to the container
			## --privileged	Give extended privileges to this container
			## -v		Bind mount a volume 映射共享路径
			
exit	# 退出