docker学习笔记2

docker进阶

docker-compose

首先介绍docker-compose

docker-compose是一个容器集成编排工具

可以通过yaml文件定义一组要启动的容器以及容器启动时的属性

docker-compose安装

docker-compose由python编写,可以直接通过pip指令安装

sudo pip3 install -U docker-compose //-U下载最新版本

docker-compose使用

docker-compose依赖于.yaml文件

yaml文件由一系列key-value构成,用来批量管理容器,定义其属性

其实也是一种自动化流程中加入个性化编排的思想。

下面以一个实例来说明:

version: ‘3’
services:
web:
image: jamtur01/composeapp
command: python app.py
ports:
- “5000:5000”
volumes:
- .:/composeapp

links:

​ -redis

redis:
image: redis

version和service可以不写

从web那行开始是关键

最外层的两个web和redis是批量容器名称

docker-compose为了不重名,一般会变成web_1和redis_1

里面定义了他们的属性。

可选的有如下

build

这个上面代码里没体现

build可以代替上面的image参数

image是直接指定基于的镜像是什么来运行容器

而build可以直接给出dockerfile的路径,让他先去构建镜像,并且基于这个镜像创建服务,更加方便,推荐使用!

image

image是直接指定基于的镜像是什么来运行容器

command

docker run里面的最后一个参数command

ports

相当于docker run 里面 -p 5000:5000

这里支持指定多个ports

格式如上往下叠加就行

volumes

卷共享

相当于docker run 里的-v .:/composeapp

links

用来链接2个容器,使得源容器(被链接的容器)和接收容器(主动去链接的容器)之间可以互相通信,并且接收容器可以获取源容器的一些数据,如源容器的环境变量。

相当于docker run 里的–link

–link的详细介绍:https://www.jianshu.com/p/21d66ca6115e

写好了yaml文件后就可以启动啦

docker-compose启动

docker-compose up -d //以守护进程的方式启动,守护进程就是后台运行的进程(depatch)

查看docker-compose管理的进程

docker-compose ps

查看docker-compose服务日志

docker-compose logs (-f)

停止服务

docker-compose stop

删除服务

docker-compose rm

Swarm

docker swarm是一个docker集群管理工具,可以将一组docker主机作为一个虚拟的docker主机来管理

将多台docker主机看作一个集群,在集群级别以上提供标准Docker API服务

Swarm安装

最简单的方式就是docker镜像

docker pull swarm

Swarm使用

多节点玩swarm就需要每个节点都去pull swarm

创建swarm

docker run --rm swarm create

返回一个token

创建只需要一次

每个节点上运行swarm代理

docker run -d swarm join --addr=本机ip token://上面拿到的token

列出swarm节点

docker run --rm swarm list token://上面拿到的token

启动镜像管理者

docker run -d -p 2380:2375 swarm manage token://…

2375是docker-api标准端口

swarm创建就结束了

后面就是设置一些过滤条件啥的让指定的角色参与服务

docker machine

docker machine的定位是在本地或者云环境中创建docker主机

简单来说,docker是一个引擎,docker machine可以很方便地管理引擎

一般docker machine用来在指定节点或者平台上安装docker引擎,配置为可用的docker环境

docker machine安装

sudo curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-‘uname -s’-uname -m’ > docker-machine

sudo mv docker-machine /usr/local/bin/docker-machine

sudo chmod +x /usr/local/bin/docker-machine

docker-machine -v

docker machine使用

首先保证本地主机可用ssh连接到目标主机

使用generic类型驱动

docker-machine create -d generic --generic-ip-address=目标主机ip --generic-ssh-user=目标主机用户 连接名称

查看docker主机

docker-machine ls

其他指令可用

docker-machine -h

按需查找

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值