mycat 读写分离

一、镜像制作方式

Docker制作镜像主要有以下两种方式:

  • 使用docker commit命令创建镜像:
    • 通过docker run命令启动容器。
    • 修改Docker镜像内容。
    • docker commit提交修改的镜像。
    • docker run新的镜像。
  • 使用Dockerfile创建镜像:

备注:使用docker commit来扩展一个镜像比较简单,但是不方便在一个团队中分享。我们可以使用docker build来创建一个新的镜像。


二、Dockerfile基本语法

  • Dockerfile 指令介绍
    • 使用#来注释
    • FROM指令告诉Docker使用哪个镜像作为基础
    • 接着是维护者的信息
    • RUN开头的指令会在创建中运行,比如安装一个软件包,在这里使用apt-get来安装了一些软件

三、Dockerfile创建镜像示例

A、新建Dockerfile文件
mkdir -p /data/data/docker

touch /data/data/docker/Dockerfile
B、编辑Dockerfile文件

Dockerfile中每一条指令都创建镜像的一层

# 这里是注释
# 设置继承自哪个镜像
FROM ubuntu:14.04

# 下面是创建者的基本信息
MAINTAINER hjyang (17826xxxx@qq.com)

# 在终端需要执行的命令
RUN apt-get update
RUN apt-get install -y openssh-server
RUN mkdir -p /var/run/sshd
C、docker build生成镜像
cd /data/data/docker

# -t:添加 tag(指定新的镜像的用户和镜像名称信息)
# ".":Dockerfile所在的路径(当前目录),也可以是一个具体的Dockerfile路径。
docker build -t="hjyang/ubuntu:v1" .

在这里插入图片描述
在这里插入图片描述

docker images

在这里插入图片描述

D、使用docker run运行镜像
# 以交互方式运行docker
docker run -it hjyang/ubuntu:v1 /bin/bash

# 运行docker时指定配置
docker run -d -p 10.211.55.4:9999:22 ubuntu:tools '/usr/sbin/sshd' -D

# 参数:
# -i:以“交互模式”运行容器,让容器的标准输入保持打开
# -t:容器启动后会进入其命令行,让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
# -v:将本地哪个目录挂载到容器中(一次run中可以挂载多个数据卷),格式:-v <宿主机目录>:<容器目录>
# -p:表示宿主机与容器的端口映射,此时将容器内部的22端口映射为宿主机的9999端口
	# 这里使用宿主机的IP+端口号(10.211.55.4:9999),它映射容器内部的端口号22。
	# ssh外部需要访问:ssh root@10.211.55.4 -p 9999
# 指定镜像可以使用“镜像 ID” 或“仓库名:标签名”

在这里插入图片描述


四、Docker网络

  • Docker网络功能相对简单,没有过多复杂的配置,Docker默认使用birdge桥接方式与容器通信。
  • 启动Docker后,宿主机上会产生docker0这样一个虚拟网络接口, docker0不是一个普通的网络接口, 它是一个虚拟的以太网桥,可以为绑定到docker0上面的网络接口自动转发数据包,这样可以使容器与宿主机之间相互通信。
  • 每次Docker创建一个容器,会产生一对虚拟接口,在宿主机上执行ifconfig,会发现多了一个类似veth****这样的网络接口,它会绑定到docker0上,由于所有容器都绑定到docker0上,容器之间也就可以通信。
  • 在宿主机上执行ifconfig,会看到docker0这个网络接口, 启动一个container,再次执行ifconfig, 会有一个类似veth****interface,每个container的缺省路由是宿主机上docker0ip,在container中执行netstat -r可以看到container路由。
  • 在容器中使用netstat -r命令查看容器的IP地址,容器中的默认网关跟docker0的地址是一样的,在宿主机中使用ifconfig查看docker0的IP地址。
  • 当容器退出之后,veth***虚拟接口也会被销毁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值