第一个Docker应用程序
Docker允许你再容器内运行应用程序, 使用docker run命令来在容器内运行一个应用程序
输出Hello Docker
docker run ubuntu:15.10 /bin/echo “Hello Docker”
参数解释:
- docker: Docker的二进制执行文件
- run: 与前面的docker组合来运行一个容器
- ubuntu:15.10: 指定要运行的镜像, Docker首先从本地主机上查找镜像是否存在, 如果不存在, Docker就会从镜像仓库Docker Hub下载公共镜像
- /bin/echo “Hello Docker”: 在启动的容器里执行的命令
以上命令完整的意思为: Docker以ubuntu15.10镜像创建一个新容器, 然后在容器里执行bin/echo “Hello Docker”, 然后输出结果
运行交互式的容器
通过docker的两个参数 –I, -t, 让docker运行的容器实现对话的功能
docker run –it ubuntu:15.10 /bin/bash
参数解释:
- -t: 在新容器内指定一个伪终端或终端
- -i: 允许你对容器内的标准输入进行交互
此时我们已经进入一个ubuntu15.10系统的容器
我们尝试在容器中运行命令cat /proc/version和ls分别查看当前系统的版本和当前目录下的文件列表
以后台模式运行容器
使用以下命令创建一个以进程方式运行的容器
docker run –d ubuntu:15.10 /bin/sh –c “while true; do echo hello docker; sleep 1; done”
在输出中, 我们没有看到期望的”hello docker”, 而是一串字符串
这个字符串叫做容器ID, 对每个容器来说都是唯一的, 可以通过容器ID来查看对应的容器中发生了什么
停止容器
docker stop thirsty_kowalevski
Docker容器管理
Docker客户端
直接输入docker命令查看Docker客户端的所有命令选项
可以通过命令docker command –help更深入的了解指定的Docker命令使用方法。
运行WEB容器
在docker容器中运行一个Python Flask应用来运行一个web应用
docker run –d –P training/webapp python app.py
参数说明:
-d: 让容器在后台运行
-P: 将容器内部使用的网络端口映射到我们使用的主机上
查看WEB容器
使用docker ps来查看正在运行的容器
docker ps
也可以指定-p标识来绑定指定端口
docker run –d –p 5000:5000 training/webapp phyhon app.py
查看WEB应用日志
docker logs[ID或者名字]可以查看容器内部的标准输出:
docker logs –f amazing_archimedes
参数说明:
-f: 让docker logs像使用tail –f 一样来输出容器内部的标准输出
查看WEB应用容器的进程
使用docker top来查看容器内部运行的进程
docker top amazing_archimedes
检查WEB应用程序
使用docker inspect来查看Docker的底层信息, 它会返回一个JSON文件记录看Docker容器的配置和状态信息
docker inspect amazing_archimedes
停止WEB应用容器
docker stop amazing_archimedes
已经停止的容器, 可以使用命令docker start来启动
docker start amazing_archimedes
重启WEB应用容器
docker restart amazing_archimedes
查询全部容器
docker ps –a
查询最后一次创建的容器
docker ps –l
移除WEB应用容器
使用docker rm命令来删除不需要的容器