Docker入门
简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
优点
- 更快速的交付和部署
- 更高效的虚拟化
- 更轻松的迁移和扩展
- 更简单的管理
应用场景
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
容器使用
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。
$ docker run ubuntu:latest /bin/echo "Hello w3cschool"
Hello w3cschool
- ubuntu:latest指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
- /bin/echo “Hello world”: 在启动的容器里执行的命令
以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo “Hello world”,然后输出结果。
启动容器
使用以下命令创建一个以进程方式运行的容器
$ docker run -d ubuntu:latest /bin/sh -c "while true; do echo hello w3cschool; sleep 1; done"
输出了2d9bd5eba89d47e9e1196bab2c6ad6f9c5234a133b0f6b4512391e701d0933c9
这个字符串是容器ID
通过docker ps查看容器是否在运行
使用docker logs命令查看容器内的标准输出
停止容器
docker stop 容器ID或名字
通过docker ps来查看容器是否已经停止工作
查看端口映射
docker port 容器ID或名字
查看容器进程
docker top
查看容器的详细信息
docker inspect
进入容器
docker exec [选项] CONTAINER COMMAND [ARG...]
- -d :分离模式: 在后台运行
- -i :即使没有附加也保持STDIN 打开
- -t :分配一个伪终端
删除容器
docker rm 容器ID
容器命名
docker run -d -P --name helloserver training/webapp python app.py