docker傻瓜指令教程

1.什么是 Docker

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。

Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。
LXC:Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。
在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

2.为什么要用 Docker

1.更快速的交付和部署

开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。 Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。

2.更高效的虚拟化

Docker 容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。

3.更轻松的迁移和扩展

Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。

4.更简单的管理

使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。

3.Docker的应用场景

Web 应用的自动化打包和发布。

自动化测试和持续集成、发布。

在服务型环境中部署和调整数据库或其他的后台应用。

从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

4.架构图

在这里插入图片描述

5.Docker的基本概念

  • 镜像(Image)
    Docker 镜像是用于创建 Docker 容器的模板
  • 容器(Container)
    容器是独立运行的一个或一组应用,是镜像运行时的实体。

容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
*注:镜像是只读的,容器在启动的时候创建一层可写层作为最上层。

  • Docker 客户端(Client)
    Docker 客户端通过命令行或者其他工具使用 Docker API 与 Docker 的守护进程通信。
  • Docker 主机(Host)
    一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
  • 仓库(Repository)
    Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。
    Docker Hub提供了庞大的镜像集合供使用。

参数汇总:

  • docker: Docker 的二进制执行文件。
  • run:与前面的 docker 组合来运行一个容器。容器名指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
  • /bin/echo “Hello world”: 在启动的容器里执行的命令
  • t:在新容器内指定一个伪终端或终端。
  • i:允许你对容器内的标准输入 (STDIN) 进行交互。
  • d:让容器在后台运行。
  • P:将容器内部使用的网络端口映射到我们使用的主机上。
运行交互式的容器
docker run -i -t 容器名 /bin/bash

5.Docker安装

前提条件
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

1.查看当前centeros中linux的内核版本
uname -r
2.在线安装
yum -y install docker
3.启动 Docker 后台服务
service docker start
4.测试运行 hello-world
docker run hello-world  
由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。

使用脚本安装 Docker
1、使用 sudo 或 root 权限登录 Centos。
2、确保 yum 包更新到最新。
$ sudo yum update
3、执行 Docker 安装脚本。
$ curl -fsSL https://get.docker.com/ | sh
执行这个脚本会添加 docker.repo 源并安装 Docker。

4、启动 Docker 进程。

$ sudo service docker start
5、验证 docker 是否安装成功并在容器中执行一个测试的镜像。

$ sudo docker run hello-world
到此,docker 在 CentOS 系统的安装完成。

6.docker指令

在容器中运行hello world
docker run 容器名 /bin/echo "Hello world"

参数解析:

  • docker: Docker 的二进制执行文件。
  • run:与前面的 docker 组合来运行一个容器。容器名指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
  • /bin/echo “Hello world”: 在启动的容器里执行的命令’

进入容器

运行交互式的容器
docker run -i -t 容器名 /bin/bash

参数解析:

  • t:在新容器内指定一个伪终端或终端。
  • i:允许你对容器内的标准输入 (STDIN) 进行交互。

退出容器

exit/CTRL+D

查看运行中的容器

docker ps
字段解析
CONTAINER ID:容器ID
NAMES:自动分配的容器名称

查看日志

docker logs 指定容器id/或是容器名

停止容器

docker stop 指定容器id/或是容器名

5.1 Docker 容器使用

Docker 客户端
在docker 客户端直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。
也可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。

例如我们要查看 docker stats 指令的具体使用方法:
docker stats --help

运行一个web应用

docker run -d -P training/webapp python app.py

  • d:让容器在后台运行。

  • P:将容器内部使用的网络端口映射到我们使用的主机上。

使用 docker ps 来查看我们正在运行的容器,此时多了端口信息。

PORTS
0.0.0.0:32769->5000/tcp     即 主机ip:端口 ->docker容器开放的端口 

指定 -p 标识来绑定指定端口,以此来启动应用

docker run -d -p 5000:5000 training/webapp python app.py
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值