2.1.1 安装 Docker 并运行 Hello World 容器
运行 Hello World 容器

背后的原理

运行其他镜像
$ docker run <image>
容器镜像的版本管理
- tag
- :latest
& docker run <image>:<tag>
2.1.2 创建一个简单的 Node.js 应用

2.1.3 为镜像创建 Dockerfile


2.1.4 构建容器镜像
$ docker build -t kubia .

镜像是如何构建的
- Docker 客户端
- Docker 守护进程
镜像分层
- Dockerfile 中的每一条单独的指令都会创建一个新层


比较使用 Dockerfile 和手动构建镜像
2.1.5 运行容器镜像
$ docker run --name kubia-container -p 8080:8080 -d kubia
访问应用
$ curl localhost:8080
列出所有运行中的容器
$ docker ps
获取更多的容器信息
$ docker inspect kubia-container
2.1.6 探索运行容器的内部
在已有的容器内部运行 shell
$ docker exec -it kubia-container bash
- -i: 确保标准输入流保持开放
- -t: 分配一个伪终端
从内部探索容器

- pid: 1
容器内的进程运行在主机操作系统上

- pid: 382
容器的文件系统也是独立的

2.1.7 停止和删除容器
$ docker stop kubia-container
删除一个容器:
$ docker rm kubia-container
2.1.8 向镜像仓库推送镜像
使用附加标签标注镜像
$ docker tag kubia luksa/kubia

向 Docker Hub 推送镜像
$ docker login$ docker push luksa/kubia
在不同机器上运行镜像
$ docker run -p 8080:8080 -d luksa/kubia
