Docker 基础概念及命令
Docker 基本概念
Docker 三个重要概念:仓库 (Repository)、镜像 (image) 和 容器 (Container)
仓库:存放镜像的所在位置
镜像:环境的封装
容器:展开以后的运行环境;(类比于虚拟机)
举例:docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress
docker run:从镜像运行为容器
–name:指定当前的容器名称,不指定随机字符串
–link:将自己的容器地址写入host文件解析,并且做别名(上述为mysql)
-p:将物理机的8080端口映射到容器中的80端口
-d:放入后台运行
wordpress:指定镜像名称,没有加版本号默认latest
Docker 指令的基本用法:
docker + 命令关键字(COMMAND) + 一系列的参数
基础命令
docker info 守护进程的系统资源设置
docker search Docker 仓库的查询
docker pull Docker 仓库的下载
docker images Docker 镜像的查询
docker rmi Docker 镜像的删除
docker rm 容器的删除
docker ps 容器的查询(正在运行)(-a 查看所有)
docker run 容器的创建启动
docker start/stop 容器启动停止
Docker 指令除了单条使用外,还支持赋值、解析变量、嵌套使用
唯一索引方法:
1.利用镜像ID:指定镜像的镜像ID或者前4位(或更多)
2.利用镜像名称:版本号的方式指定某一镜像(hello-world:latest)
docker rmi -f+镜像 : 强制删除某镜像,容器会损坏(慎用)
删除所有容器:docker rm -f $(docker ps -a -q)
单一容器管理
每个容器被创建后,都会分配一个 CONTAINER ID 作为容器的唯一标示,后续对容器的启动、停止、修改、删除等所有操作,都是通过 CONTAINER ID 来完成,偏向于数据库概念中的主键
docker ps --no-trunc 查看
docker stop/start CONTAINERID 停止
docker start/stop MywordPress 通过容器别名启动/停止
docker inspect MywordPress 查看容器所有基本信息
docker logs MywordPress 查看容器日志
docker stats MywordPress 查看容器所占用的系统资源
docker exec 容器名 容器内执行的命令 容器执行命令
docker exec -it 容器名 /bin/bash 登入容器的bash
run 基础命令
--restart=always 容器的自动启动
-h x.xx.xx 设置容器主机名
--dns xx.xx.xx.xx 设置容器使用的 DNS 服务器
--dns-search DNS 搜索设置 (搜索域)
--add-host hostname:IP 注入 hostname <> IP 解析
--rm 服务停止时自动删除
Docker-Compose
Docker 三剑客
docker-swarm (少用)
docker-machine (少用)
docker-compose (主流)
多容器管理
Docker 提倡理念是 “一个容器一个进程”,假设一个服务需要由多个进程组成,就需要多个容器组成一个系统,相互分工和配合对外提供完整服务
docker-compose 则是用来创建容器的。
多容器编排工具
Docker 有三个主要的功能:Build、Ship 和 Run,使用 docker-compose 可以帮我们在 Run 的层面解决很多实际问题。docker-compose 通过一个 yaml 模板文件来统一管理多个容器的配置,如网络、数据卷、执行指令、环境变量、资源限制等等。有了 docker-compose 我们便可以一键重启、关闭、删除、监控所有的 docker 服务,只需要一次配置,则可以对容器进行统一管理,那么此时我们则不必为了每次要运行一堆容器时写大量的命令而头疼
Docker-compose Install
容器编排工具,允许用户在一个模板( YAML 格式 )中定义一组相关联的容器,会根据 --link 等参数,对启动的优先级进行排序
curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-uname -s
-uname -m
> /usr/local/bin/docker-compose
Docker-compose 用法
-f 指定使用的 yaml 文件位置
up -d 启动容器项目
ps 显示所有容器信息
pause 暂停容器 (将内存保存为文件)
restart 重新启动容器
unpause 恢复暂停
logs 查看日志信息
rm 删除容器
config -q 验证 yaml 配置文件是否正确
stop 停止容器
start 启动容器