前端时间公司所有开发同事把虚拟机+vagrant安装的开发环境换成了docker的,感觉确实很好用,现在就来介绍下docker的安装及使用教程

docker介绍

■ 简介

Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 从 17.03 版本之后分为 CE(Community Edition:社区版) 和 EE(Enterprise Edition:企业版),我们用社区版就可以了。

■ 基础概念

镜像(Image):Docker 镜像(Image)就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。

容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

■ 相关地址

  • 官方hub仓库:hub.docker.com
  • 菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html
  • 官方安装:https://docs.docker.com/engine/install/

我们是在win10系统装的,下载地址如下:

https://hub.docker.com/editions/community/docker-ce-desktop-windows/

一般个人安装下载稳定版就行了,不需要下载企业版

■ 安装前要知道什么

如果您的系统不符合运行Docker for Windows的要求,则可以安装Docker Toolbox,Dockbox Toolbox使用Oracle Virtual Box而不是Hyper-V。

  • Docker Toolbox和Docker Machine用户必读:适用于Windows的Docker需要运行Microsoft Hyper-V。如果需要,Docker for Windows安装程序将为您启用Hyper-V,并重新启动计算机。启用Hyper-V后,VirtualBox将不再工作,但任何VirtualBox VM映像将保留。使用docker-machine(包括通常在Toolbox安装期间创建的默认虚拟机)创建的VirtualBox VM将不再启动。这些虚拟机不能与Docker for Windows并行使用。但是,您仍然可以使用docker-machine来管理远程VM。
  • 必须启用虚拟化。通常,默认情况下启用虚拟化。(请注意,这与启用Hyper-V不同)
  • 目前版本的Docker for Windows在64位Windows 10 Pro,企业和教育(1607周年纪念版,Build 14393或更高版本)上运行。将来我们将支持更多版本的Windows 10。
  • 使用Docker for Windows创建的容器和图像在安装的机器上的所有用户帐户之间共享。这是因为所有Windows帐户都将使用相同的虚拟机来构建和运行容器。将来,Docker for Windows将更好地隔离用户内容。
  • 嵌套的虚拟化场景,例如在VMWare或Parallels实例上运行Docker for Windows,可能会起作用,但不能保证(即不正式支持)。
  • Docker for Windows安装包括:安装提供Docker Engine,Docker CLI客户端,Docker Compose,Docker Machine和Kitematic。

■ 安装Docker for Windows

在上面的查找例子中,我们可以分析出一些B+树的性质:

  1. 双击Docker for Windows Installer.exe以运行安装程序。
  2. .按照安装向导接受许可证,授权安装程序,然后继续安装。您将被要求在安装过程中使用系统密码授权Docker.app。需要特权访问来安装网络组件,指向Docker应用程序的链接,以及管理Hyper-V虚拟机。
  3. 单击安装完成对话框上的Finish以启动Docker。

windows 容器里面运行exe程序 windows10容器可以干啥_Windows

Docker无法自动启动。要点击开始,搜索Docker,在搜索结果中选择应用程序,然后单击它(或按返回)。

当状态栏中的鲸鱼保持稳定时,Docker可以正常运行,并可从任何终端窗口访问。



windows 容器里面运行exe程序 windows10容器可以干啥_docker_02

docker常用命令

■ 基础命令

# 查看docker基础信息

docker info

# 拉取镜像

docker pull :

# 移除容器

docker rm

# 移除镜像

docker rmi

# 启动、停止、重启容器

docker stop  

docker start  

docker restart

docker run -itd --name -P/-p: /bin/bash

# 查看docker容器

docker ps

# 打包镜像

docker tag // 

docker push /

# 登录

dockerdocker login

# 进入容器内部

docker exec -it /bin/bash

# 从仓库搜索镜像

docker search

■ 批量操作

# 杀死所有正在运行的容器

docker kill $(docker ps -a -q)

# 删除所有的容器

docker rm $(docker ps -a -q)

# 删除所有未打 dangling 标签的镜像

docker rmi $(docker images -q -f dangling=true)

# 删除所有镜像

docker rmi $(docker images -q) 

docker rmi $(docker images -q)

# 强制删除无法删除的镜像

docker rmi -f  

docker rmi -f $(docker images -q)

■ Dockerfile

Dockerfile是一个包含用于组合镜像的命令的文本文档。可以使用在命令行中调用任何命令。Docker通过读取文件中的指令自动生成镜像。

脚本结构:

  1. 基础镜像信息
  2. 维护者信息
  3. 镜像操作指令
  4. 容器启动时执行指令
  5. ’#’ 为 Dockerfile 中的注释
  6. "&&" 符号连接命令,这样执行后,只会创建 1 层镜像

Docker以从上到下的顺序运行Dockerfile的指令。为了指定基本镜像,第一条指令必须是FROM。一个声明以#字符开头则被视为注释。可以在Docker文件中使用RUN,CMD,FROM,EXPOSE,ENV等指令。

■ docker-compose

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令就可以从 YML 文件配置中创建并启动所有服务。

Compose 使用的三个步骤:

  • 使用 Dockerfile 定义应用程序的环境。
  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
  • 最后,执行 docker-compose up 命令来启动并运行整个应用程序。

END



windows 容器里面运行exe程序 windows10容器可以干啥_Windows_03

windows 容器里面运行exe程序 windows10容器可以干啥_Docker_04