Docker简介
Docker是一个用于构建运行传送应用程序的平台
镜像
将应用所需的函数库、依赖、配置等与应用一起打包得到的就是镜
镜像结构
镜像管理命令
命令 | 说明 |
---|---|
docker pull | 拉取镜像 |
docker push | 推送镜像 |
docker images | 查看本地镜像 |
docker rmi | 删除本地镜像 |
docker image prune | 删除不再使用的镜像 |
docker save | 保存镜像到本地压缩文件 |
docker load | 加载本地压缩文件到镜像 |
docker inspect | 查看容器详细信息 |
docker search | 检索镜像 |
docker history | 查看镜像历史 |
docker import | 将文件系统导入为镜像 |
docker commit | 从容器创建镜像 |
docker build | 构建镜像 |
Dockerfile
Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。
常用Dockerfile指令
指令 | 说明 |
---|---|
FROM | 指定基础镜像 |
ENV | 设置环境变量,可在后面指令使用 |
COPY | 拷贝本地文件到镜像的指定目录 |
RUN | 执行Linux的shell命令,一般安装过程的命令 |
EXPOSE | 指定容器运行时监听的端口,是给镜像使用者看到 |
ENTRYPOINT | 镜像中应用的启动命令,容器运行时调用 |
更新详细语法说明,请参考官网文档: Dockerfile reference | Docker Docs
容器
为每个镜像的应用进程创建的隔离运行环境就是容器
容器管理命令
命令 | 说明 |
---|---|
docker create | 创建容器(仅创建,不运行) |
docker run | 创建并运行容器(不能重复创建) |
docker stop | 停止指定容器 |
docker start | 启动指定容器 |
docker restart | 重新启动容器 |
docker rm | 删除指定容器 |
docker ps | 查看容器 |
docker logs | 查看容器运行日志 |
docker exec | 进入容器 |
dockers export | 导出容器 |
docker import | 导入容器快照 |
docker port | 查看容器端口映射 |
docker top | 显示容器内进程 |
docker cp | 复制本地文件到容器内指定文件 |
docker diff | 显示容器内的变化 |
docker starts | 显示容器资源使用情况 |
镜像容器常用命令
Docker最常见的命令就是操作镜像、容器的命令,详见官方文档: https://docs.docker.com/
命令 | 说明 |
---|---|
docker pull | 拉取镜像 |
docker push | 推送镜像到DockerRegistry |
docker images | 查看本地镜像 |
docker rmi | 删除本地镜像 |
docker run | 创建并运行容器(不能重复创建) |
docker stop | 停止指定容器 |
docker start | 启动指定容器 |
docker restart | 重新启动容器 |
docker rm | 删除指定容器 |
docker ps | 查看容器 |
docker logs | 查看容器运行日志 |
docker exec | 进入容器 |
docker save | 保存镜像到本地压缩文件 |
docker load | 加载本地压缩文件到镜像 |
docker inspect | 查看容器详细信息 |
镜像仓库
存储和管理镜像的服务就是镜像仓库,
DockerHub是目前最大的镜像仓库,其中包含各种常见的应用镜像
数据卷
数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。
挂载数据卷
在创建容器时,利用 -v 数据卷名:容器内目录完成挂载
容器创建时,如果发现挂载的数据卷不存在时,会自动创建
数据管理命令
命令 | 说明 |
---|---|
docker volume create | 创建数据卷 |
docker volume ls | 查看所有数据卷 |
docker volume rm | 删除指定数据卷 |
docker volume inspect | 查看某个数据卷的详情 |
docker volume prune | 清楚数据卷 |
网络
默认情况下,所有容器都是以bridge方式连接到Docker的一个虚拟网桥上,加入自定义网络的容器才可以通过容器名互相访问。
网络管理命令
命令 | 说明 |
---|---|
docker network create | 创建一个网络 |
docker network ls | 查看所有网络 |
docker network rm | 删除指定网络 |
docker network prune | 清除未使用的网络 |
docker network connect | 使指定容器连接加入某网络 |
docker network disconnect | 使指定容器连接离开某网络 |
docker network inspect | 查看网络详细信息 |
DockerCompose
Docker Compose通过一个单独的docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署。
DockerCompose常用命令
类型 | 参数或指令 | 说明 |
---|---|---|
Options | -f | 指定compose文件的路径和名称 |
-p | 指定project名称 | |
Commands | up | 创建并启动所有service容器 |
down | 停止并移除所有容器、网络 | |
ps | 列出所有启动的容器 | |
logs | 查看指定容器的日志 | |
stop | 停止容器 | |
start | 启动容器 | |
restart | 重启容器 | |
top | 查看运行的进程 | |
exec | 在指定的运行中容器中执行命令 |
插件管理命令
命令 | 说明 |
---|---|
docker plugin ls | 列出插件 |
docker plugin install | 安装插件 |
docker plugin enable | 启用插件 |
docker plugin disable | 禁用插件 |
docker plugin rm | 卸载插件 |
日常操作命令
命令 | 作用 |
---|---|
docker info | 查看docker系统信息 |
docker version | 查看docker版本 |
docker --help | 查看docker帮助文档 |
docker login | 登录DockerHub |
docker logout | 退出DockerHub |