Docker 是一个开源的应用容器引擎,可以让开发者打包应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。并且容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
简单来说Docker的使用就像使用以前windows装系统时的Ghost,直接安装一个系统镜像来使用,而Docker也是将打包好的程序直接安装到Docker的容器中来,安装、使用、卸载都很方便。
安装Docker
直接通过官方脚本安装
wget
-qO-
get.docker.com
|
bash
至此,docker已经安装完毕。
docker常用命令
代码语言:javascript复制#检查安装结果
docker version
#启动 Docker
systemctl start docker
#查看 Docker 启动状态(内容中包含绿色 active)
systemctl status docker
#设置 Docker 自启动
systemctl enable docker
# 启动容器
docker start $name
# 停止容器
docker stop $name
# 删除容器
docker rm $name
#以上 $name 为 docker run 中定义的 name
# 查看运行容器
docker ps -as
安装docker-compose
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排,可以让Docker管理起来更方便。
Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例,Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡。 Docker-Compose的工程配置文件默认为docker-compose.yml,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。 使用一个Dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。在工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个Web项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。 Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。
安装方法
代码语言:javascript复制curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod x /usr/local/bin/docker-compose
国内安装docker-composer的话使用下面命令下载会更快些:
代码语言:javascript复制curl -L "https://get.daocloud.io/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod x /usr/local/bin/docker-compose
如果是国内VPS或服务器上使用docker建议将仓库设置为国内的,这样拉取镜像时会更快
代码语言:javascript复制cat >/etc/docker/daemon.json<<EOF
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com"
]
}
EOF