Docker
1、概述
1.1 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版);
1.2 Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
1.3 Docker 容器通过 Docker 镜像来创建。
2、Docker架构
2.1 Docker3个核心概念:
Docker 镜像(Image):就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。
3、镜像使用
当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载;
3.1、列出本地镜像列表 docker images
3.2、从Docker Hub下载镜像 docker pull 镜像名称
3.3、从DockerHub搜索镜像 docker search 镜像名称
3.4、删除本地镜像 docker rmi
3.5、构建镜像 docker build
4、容器使用
Docker允许在容器中运行应用程序,使用docker run在容器中运行应用程序;
4.1、启动容器 docker run -it 镜像名称 命令 [-i:交互式操作、-t:终端]
4.2、退出容器 exit|ctrl+d
4.3、查看所有容器 docker ps -a
4.4、启动一个已停止的容器 docker start 容器id
4.5、后台运行容器 docker run -itd 镜像名称 命令 [-d:指定容器的运行模式]
使用-d参数后,不会默认进入容器
4.6、停止指定容器 docker stop 容器id
4.7、重启指定容器 docker restart 容器id
4.8、进入容器
docker attach 容器id
从此种方式进入容器,退出终端后,容器会停止;
docker exec
推荐使用exec,退出容器终端,不会导致容器的停止;
4.9、导出容器 docker export
4.10、导入容器 docker import
4.11、删除容器 docker rm 容器id
4.12、清理所有处于停止状态的容器 docker container prune
4.13、运行一个web应用 docker run -d -P 镜像名称 命令 [-d:让容器在后台运行、-P:将 容器内部使用的网络端口 随机映射到 我们使用的主机上 ]
5、容器连接
5.1、网络端口映射 docker run -d -p 本机映射端口号:容器内部端口号 镜像名称 命令 [-p:容器内部端口 绑定到 指定的本机端口]
5.2、网络ip、端口映射 docker run -d -p 指定容器绑定的ip地址:本机映射端口号:容器内部端口号 镜像名称 命令
5.3、网络ip、udp端口映射 docker run -d -p 指定容器绑定的ip地址:本机映射端口号:容器内部端口号 /udp 镜像名称 命令
6、仓库管理
仓库(Repository)是集中存放镜像的地方;
docker官方提供一个远程仓库Docke Hub;
登录docker hub docker login
退出docker hub docker logout
7、常用指令
查看容器日志 docker logs -f --since=' 时间' --tail 行数 容器名称