Docker快速学习
快速认识Docker
Docker是一个基于Go语言开发的虚拟技术。
- 镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
- 容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。
- 仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。
安装Docker
必须认识到Docker与VmWare时不可以共存的,Docker利用了win的Hyper-V技术,开启Hyper-V(Windows10 专业版)安装win for Docker;
https://labs.play-with-docker.com/
Docker在线网站
快速学习
docker search <镜像名称>
:在注册服务器中搜索查找镜像是否存在
docker pull <镜像名称>
:利用pull命令拉去镜像(tag/版本)
docker images
:查看当前系统中的镜像
docker run -t -i <image>
:利用image镜像创建一个容器
docker run -it <container /bin/bash>
:启动容器
-i 交互式操作
-t 终端
-d 后台运行
-p 端口映射
docker exec <container_id>
:进入容器
docker ps
:查看运行中的容器
docker ps -a
查看所有容器
docker stop <container_id>
:停止容器
docker start <container_id>
:开始容器
docker restart <container_id>
:重启容器
docker commit <container_id> <用户名/仓库名/tag>
:将当前容器创建为镜像
-m 指定说明信息
-a 指定用户信息
docker rm <container_id>
:删除容器
DockerFile快速学习
docker build -t="<用户名/仓库名/tag>" <path>
DockerFile理解为一种配置文件
# 指定基于某个镜像
FROM cnetos:latest
# 构件者信息
MAINTAINER mirror
# 在build时执行的操作
RUN yum update
RUN yum install -y git
# copy本地文件到镜像中
COPY ./* /usr/share/gitdir/