Docker 使用教程

一些概念

Docker Registry

Docker 远程镜像仓库

  • DockerHub
  • DaoCloud / Aliyun

Docker Images

Docker Images 是用来创建 docker 容器的只读模版,其中包含了容器启动所需要的所有配置信息和运行程序,一次构建之后可以多次复用。

阅读更多

Docker 生产环境容器化

修改存储目录

生产环境中,镜像多了之后很容易把硬盘写满造成服务器宕机,所以需要挂载一块较大的硬盘,修改 docker 的默认存储路径,下面提供两种方案。

方案一:软连接

1
2
3
service docker stop
mv /var/lib/docker /mnt/sdc/docker
ln -s /mnt/sdc/docker /var/lib/docker
阅读更多

Docker 了解架构

Docker 总架构图

img

C/S 架构

docker 系统使用了 C/S 的架构,docker client 通过 REST API 请求 docker daemon 来管理 docker 的镜像和容器等。

  • Server 端驻守在后台,称之为 docker daemon
阅读更多

Docker 容器编排 Docker Compose

容器编排是什么

应用一般由单独容器化的组件组成,须按照一定顺序在网络级别进行组织,以使其能够按照计划运行,这种对多个容器进行组织的流程称为容器编排,它主要是对容器之间的依赖关系进行编排

Docker-compose

docker官方提供的工具,强调单机多容器的编排,能力相对有限,只能在一台宿主机上对容器编排,对于大规模集群环境中,多台机器无法支持,在windows, mac 安装完docker后默认提供docker-compose,但是在windows server , Linux中默认是不提供的,需要自行安装

阅读更多

Docker 容器间单向通信

docker维护着每个容器的元信息,可以通过IP通信,但是在docker环境中每个容器重启之后,容器的虚拟IP都会变动,这样的情况下我们该如何处理? 我们带着这两个疑问看一下今天的内容

场景

如果我们部署了一个tomcat应用,这个应用需要连接mysql数据库,这种场景下,我们需要让tomcat可以访问mysql数据库,这就需要使两个容器之间可以通信

实现通信的方法

  • 在容器启动的时候,为每个容器指定一个名字,两者通信使用容器名称来识别对方容器
阅读更多

Docker DOCKERFILE 构建自定义镜像

什么是dockerfile

是一个包含用于组合镜像的命令的文本文档
Docker通过读取Dockerfile中的指令按步自动生成镜像

实战-打包自定义tomcat镜像

Dockerfile编写

mkdir -p /usr/local/docker/bk-web-dockerfile
cd /usr/local/docker/bk-web-dockerfile
上传bk-web包到此/usr/local/docker/bk-web-dockerfile目录

阅读更多