概念 | 说明 |
---|---|
Docker 镜像(Images) |
Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。 |
Docker 容器(Container) |
容器是Image的运行时实体。 |
Docker 客户端(Client) |
Docker 客户端通过命令行或者其他工具使用 Docker SDK (https://docs.docker.com/develop/sdk/) 与 Docker 的守护进程通信。 |
Docker 主机(Host) |
一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 |
Docker 仓库(Registry) |
Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。 Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。 一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。 通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。 |
Docker Machine |
Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
https://www.runoob.com/docker/windows-docker-install.html
Docker容器使用: https://www.runoob.com/docker/docker-container-usage.html
这篇教程里我们会在本地装一个ubuntu的docker,然后学会简单的指令。
本地安装和卸载ubuntu docker涉及到的内容有
docker ps -a 查看当前环境里有装了哪些docker
docker start [DockerID] 启动某个docker
docker stop [DockerID] 关闭某个Docker
docker restart [DockerID] 重启某个Docker
docker exec -it [DockerID] /bin/bash 进入某个正在运行的Docker,并进入交互式命令行
docker export [DockerID] > ubuntu.tar 导出一个Docker Image到文件
这是我电脑上的ubuntu image文件,大小是63M。
docker import
docker rm -f <容器ID> 删除一个容器
差不多会这些命令就可以做简单的操作啦~~
接着这篇教程里还会教我们在本地做一个web app 的docker环境。这个web应用是基于python Flask框架的。
runoob@runoob:~# docker pull training/webapp # 载入镜像
runoob@runoob:~# docker run -d -P training/webapp python app.py
参数说明:
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上。
用docker ps 看容器的状态
可以看到端口映射的状况:docker里的5000端口被映射到了本机的32768端口。
我们在浏览器里通过这个端口看看这个web服务:
docker run -d -p 5000:5000 training/webapp python app.py 可以通过-p指令强制指定端口映射状态。
也可以用docker port指令专门看端口信息:
可以用logs指令看到web app的application.log日志:
-f 和tail -f一样,表示在stdout里滚动输出
docker top 来查看容器内部运行的进程,用docker inspect看底层信息:
接下来我们接着按教程走:
对docker仓库的使用有更多了解: https://www.runoob.com/docker/docker-image-usage.html