# 基本概念,名词或术语
关于Docker的灵魂三问
- Docker 是什么?
Docker提供简单易用的容器使用接口 属于 Linux 容器的一种封装。简单来说Docker可以让开发者打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。Docker本身并不是容器,它是创建容器的工具,是应用容器引擎 - 要解决什么问题?
(1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
(2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
(3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。 - 好处又在哪里?
(1)启动快
(2)资源占用少
(3)体积小
- Docker 是什么?
docker CE 与 EE的简单区别
- CE( Community Edition)是社区版,简单理解是免费使用,提供小企业与小的IT团队使用,希望从Docker开始,并尝试基于容器的应用程序部署。
- EE(Docker Enterprise Edition)是企业版,收费。提供功能更强。适合大企业与打的IT团队。为企业开发和IT团队设计,他们在生产中构建、交付和运行业务关键应用程序
Docker Toolbox:快速简单安装docker环境的套件,有mac和win2个版本。
- Oracle VM VirtualBox:Oracle虚拟器(机)
- Kitematic (Alpha):Docker GUI 工具,它可以更快速、更简单的运行Docker
- Docker Quickstart Terminal:快速启动docker的命令行工具
- Docker 主机,镜像,容器的关系
VM/宿主机 ——> 镜像image(包含完整的系统如linux(ubuntu)、mysql、apache、nginx等。镜像是由一层层的系统文件组成。)安装——> 创建容器 ——> 创建应用。
容器是由镜像实例化而来。容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件。 - 创建和管理docker主机的工具,支持在不同版本的Linux上管理多个Docker主机
- 从零开始学习Docker的重要工具
- 提供集中创建和管理Docker主机的功能
- 与Docker Swarm集成创建Docker集群
查看docker版本并测试docker
$ docker -v $ docker info $ docker run hub.c.163.com/library/busybox:latest echo hello world # => 运行一个docker容器
连接容器
$ docker start 56b9cd5ffa87 $ docker attach 56b9cd5ffa87
使用指定镜像以交互模式启动一个容器,并在容器内执行/bin/bash命令
# https://www.runoob.com/docker/docker-run-command.html $ docker pull ubuntu $ docker run -it [IMAGE ID] /bin/bash $ cat /etc/issue
# Windows下载并部署Docker
# 遇到的一些问题
docker: Error response from daemon: create $(pwd)
见 https://github.com/second-sta...启动
docker info
时报错:Error response from daemon: Bad response from Docker engine
windows 中的类似于sudo的命令(在cmd中以另一个用户的身份运行命令),例如我的Windows用户是Qing,则命令为:
runas /user:qing cmd.exe
- 系统提示
No def ault Boot2Docker IS0 found locally,downloading the latest release
表示正在下载boot2docker.iso镜像文件,这个速度会非常慢,这时可以先按Ctrl+C取消安装,把boot2docker.iso文件通过迅雷等下载工具下载下来并放到指定目录(C:Userszsl-pc.dockermachinecache,此目录在不同电脑上会有所不同)下再安装。再次运行create创建Docker虚拟主机时就不会再去远程下载,而是使用本地的iso文件了。可参考:https://www.jianshu.com/p/f8b... 。关于 为什么需要用到boot2docker可以大概阅读下。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。