docker学习知识点汇总

一、docker入门

docker菜鸟教程

1、安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

2、拉取Ubuntu镜像

sudo docker pull ubuntu:14.04.3

docker pull 拉取的默认远端官方仓库:https://hub.docker.com

docker pull 拉取的远程镜像放在本地  /var/lib/docker/ 目录下

3、查看本地镜像

sudo docker images

4、运行容器

sudo docker run -itd --name ubuntu ubuntu:14.04.3

-d 参数默认不进入容器,想要进入容器需要使用docker exec

docker的两个参数 -i  -t  ,运行交互式容器

-i 允许对容器内的标准输入STDIN进行交互;

-t 在新容器内指定一个伪终端或终端;

5、通过exec命令进入ubuntu容器

sudo docker exec -it ubuntu /bin/bash

6、查看当前docker容器的运行状态

sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d07f5db43e66        ubuntu:14.04.3      "/bin/bash"         2 hours ago         Up 51 seconds                           ubuntu

7、终止当前容器的运行

$ sudo docker stop d07f5db43e66
d07f5db43e66
$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

二、docker深入理解

Dockerfile Image Container 的关系:

  • Dockerfile: 用于描述镜像的生成规则。 Dockerfile中的每一条命令,都在Docker镜像中以一个独立镜像层的形式存在。
  • Image: 由Dockerfile生成, 呈现层级结构, 每层镜像包含:镜像文件以及镜像json元数据信息。
  • Container: Container 是Image 的动态运行结果,概括而言,就是在Docker镜像之上,运行进程。

Docker的设计并不推荐容器内运行多个进程,它希望是一个进程一个容器,走微服务方向。

Docker内的多进程管理工具是supervisor和monit。在Docker中,进程管理的基础就是Linux内核中的PID命名空间技术。

 

基于Docker环境的应用程序开发工作流程:

Docker三剑客:Compose、Machine和Swarm

Docker Machine

如果您的主系统是Linux机器,并且希望运行docker命令,您只需要下载并安装docker Engine。但是,如果你想在一个网络上,云端甚至本地提供多个Docker主机,您需要Docker Machine。

Docker machine是Docker官方三剑客项目()之一,负责使用docker容器的第一步:在多平台上快速安装和维护docker运行环境。它支持多种平台,让用户可以在很短时间内在本地或云环境中搭建一套docker主机集群。

Docker Machine的用途:

1)在Mac或Windows上安装并运行Docker

2)配置和管理多个远程Docker主机

3)为Docker Swarm提供支持

Docker Swarm

Docker Swarm 是 Docker 官方三剑客项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。使用它,用户可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台。

安装要求:

每个节点都需要安装 Docker,并且能够与 Swarm 的其他节点通信。

在网络方面,需要在路由器和防火墙中开放如下端口。

  • 2377/tcp:用于客户端与 Swarm 进行安全通信。
  • 7946/tcp 与 7946/udp:用于控制面 gossip 分发。
  • 4789/udp:用于基于 VXLAN 的覆盖网络。

搭建 Swarm 的过程有时也被称为初始化 Swarm,大体流程包括初始化第一个管理节点 -> 加入额外的管理节点 -> 加入工作节点 -> 完成。

1、初始化第一个管理节点

sudo docker swarm init

通过 docker swarm join-token 命令用来获取添加新的工作节点和管理节点到 Swarm 的命令和 Token。

$ docker swarm join-token worker
To add a manager to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-0uahebax...c87tu8dx2c \
10.0.0.1:2377

$ docker swarm join-token manager
To add a manager to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-0uahebax...ue4hv6ps3p \
10.0.0.1:2377

2、加入额外的管理节点

docker swarm join \
--token SWMTKN-1-0uahebax...ue4hv6ps3p \
10.0.0.1:2377

3、加入工作节点

docker swarm join \
--token SWMTKN-1-0uahebax...c87tu8dx2c \
10.0.0.1:2377

4、完成

在任意一个管理节点上执行 

docker node ls 

命令来列出 Swarm 节点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值