docker

介绍

一次封装,到处运行

仓库:存放镜像的地方
镜像:容器的模板
容器:
  镜像的实例就是容器(模板)
  每个容器相互隔离
  可以看做是一个简易版的linux环境(包括 用户权限,进程空间,用户空间,网络空间)和运行在其中的应用程序。

集装箱:容器
鲸鱼:docker

linux 容器:linux containers, LXC
容器与虚拟机不同,不需要捆绑一套操作系统,只需要软件工作需要的库资源和设置

虚拟机:
  hypervisor 硬件虚拟化,需要单独的操作系统
docker:
  操作系统层虚拟化(容器),直接利用宿主机内核

容器是将操作系统层虚拟化虚拟机则是虚拟化硬件,因此容器更具有便携性、高效地利用服务器。

操作系统层虚拟:
  亦称容器化
  可以实现软件的即时迁移(Live migration),使一个软件容器中的实例,即时移动到另一个操作系统下,再重新运行起来。但是在这种技术下,软件即时迁移,只能在同样的操作系统下进行。
  由于在同一台服务器上的容器实例共享同一个系统内核,因此在运行上不会存在实例与主机操作系统争夺RAM的问题发生,从而能够保证实例的性能 

hypervisor vs container

docker

docker dockerdocker

命令

docker run hello-world

docker version
docker info
docker --help

docker images --help
docker images 本地镜像
docker images -a 本地镜像,包含镜像的中间层

docker search -s 30 --no-trunc tomcat 星超过30的

docker pull tomcat =>docker pull tomcat:lastst
docker rmi -f image1 image2:lastst 不加tag默认最新
docker rmi -f $(docker images -qa) 删除所有镜像

docker run
--name="容器新名字": 为容器指定一个名称,不指定随机生成
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
      ip:hostPort:containerPort
      ip::containerPort
      hostPort:containerPort
      containerPort

镜像

阿里云镜像加速器

docker

#brew镜像
https://mirror.tuna.tsinghua.edu.cn/help/homebrew/

git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git
git -C "$(brew --repo homebrew/cask-fonts)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask-fonts.git
git -C "$(brew --repo homebrew/cask-drivers)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask-drivers.git

参考:

操作系统层虚拟化

      Hypervisor(硬件虚拟化)

LXC,其名称来自Linux软件容器(Linux Containers)

 

相关推荐