最近上网看了下 docker 相关知识点,做下笔记备忘,以下主要参考网址:http://www.runoob.com/docker/docker-tutorial.html
一 基本信息
- Docker 是一个开源的应用容器引擎。
- Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
- Docker 使用客户端 - 服务器 (C/S) 架构模式,使用远程 API 来管理和创建 Docker 容器。
- Docker 容器通过 Docker 镜像来创建。
- Docker 架构图 (按照自己理解画的,若有问题欢迎指正)
二 执行模式
- 交互式模式
docker run -i -t ubuntu:15.10 /bin/bash
- 后台模式
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
各个参数解析:
-t:在新容器内指定一个伪终端或终端,
-i:允许你对容器内的标准输入 (STDIN) 进行交互,
-d:让容器在后台运行。
三 关于容器的操作命令
docker ps:查看容器 ID、使用镜像、执行命令、容器名称、端口信息等
docker logs【容器 ID/容器名称】:查看容器内的标准输出
docker logs -f bf08b7f2cd89:输出容器 bf08b7f2cd89 内部的标准输出,-f 参数是让其像 tail -f 一样来输出
docker port:查看端口信息
docker port adoring_stonebraker 5000:查找 adoring_stonebraker 容器 5000 端口的绑定情况
docker top:来查看容器内部运行的进程
docker start【容器 ID/容器名称】:启动容器
docker restart【容器 ID/容器名称】:重启容器
docker stop【容器 ID/容器名称】:停止容器
docker rm【容器 ID/容器名称]】:删除容器
docker inspect:查看 Docker 的底层信息
四 关于镜像的操作命令
docker images:来列出本地主机上的镜像
docker search【镜像】:查找镜像
docker pull【镜像】:下载这个镜像
docker run -t -i ubuntu:15.10 /bin/bash:使用版本为 15.10 的 ubuntu 系统镜像来运行容器
docker pull training/webapp
docker run -d -P training/webapp python app.py
五 Docker 镜像使用
- 当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。
- 创建镜像
(1)更新镜像
① 使用镜像来创建一个容器(docker run -t -i ubuntu:15.10 /bin/bash),
② 在运行的容器内使用 apt-get update 命令进行更新,
③ 在完成操作之后,输入 exit 命令来退出这个容器,
④ 提交容器副本(docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2 )
(2)构建镜像
使用 Dockerfile 文件,通过 docker build 命令来构建一个镜像
六 Docker 容器连接
- 设置端口或指定网址:
① docker run -d -P training/webapp python app.py
② docker run -d -p 5001:5000 training/webapp python app.py
③ docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
④ 然后本地通过浏览器 127.0.0.1:5001 进行访问
-P : 是容器内部端口随机映射到主机的高端口。
-p : 是容器内部端口绑定到指定的主机端口。
通过访问127.0.0.1:5001来访问容器的5000端口
默认都是绑定 tcp 端口