简介
万物皆"Hello World",Docker 安装完毕了,咱们先来一个“Hello World”
正文
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序,输出Hello world
#执行该脚本
docker run ubuntu:15.10 /bin/echo "Hello world"
![](https://img.haomeiwen.com/i16004177/d9a8ba49bee7f1a5.png)
参数解析
参数名称 | 解释 |
---|---|
docker | Docker 的二进制执行文件 |
run | 与前面的 docker 组合来运行一个容器 |
ubuntu:15.10 | 指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像 |
/bin/echo "Hello world" | 在启动的容器里执行的命令 |
以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果
运行交互式的容器
我们通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力
#执行该脚本
docker run -i -t ubuntu:15.10 /bin/bash
C:\Users\pc>docker run is it ubuntu:15.10 /bin/bash
异常信息:Unable to find image 'is:latest' locally
docker: Error response from daemon: pull access denied for is, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
上述异常信息为未登陆Docker,输入 docker login 输入账户及密码,登陆成功,再次输入脚本,此时我们已进入一个 ubuntu15.10系统的容器。
![](https://img.haomeiwen.com/i16004177/1f0c8afdb904d4c1.png)
参数解析
参数名称 | 解释 |
---|---|
-t | 在新容器内指定一个伪终端或终端 |
-i | 允许你对容器内的标准输入 (STDIN) 进行交互 |
我们尝试在容器中运行命令分别查看当前当前目录下的文件列表和版本
![](https://img.haomeiwen.com/i16004177/09294d805e8dad74.png)
![](https://img.haomeiwen.com/i16004177/01c2f1ea3bfd636b.png)
可以通过运行exit命令或者使用CTRL+D来退出容器。
启动容器(后台模式)
使用以下命令创建一个以进程方式运行的容器
#执行该脚本
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
![](https://img.haomeiwen.com/i16004177/93c0f023dd66bd2a.png)
输出中,我们没有看到期望的"hello world",而是一串长字符
88049c19c5323da7ddfa3e417cb6b9b8a0f6d527bdf7198f64718f16212b4575
这个长字符串叫做容器ID,对每个容器来说都是唯一的,我们可以通过容器ID来查看对应的容器发生了什么
#首先,我们需要确认容器有在运行,可以通过 docker ps 来查看
docker ps
![](https://img.haomeiwen.com/i16004177/163d802b12dbe375.png)
CONTAINER ID:容器ID
NAMES:自动分配的容器名称
#在容器内使用docker logs命令,查看容器内的标准输出
docker logs 88049c19c532
![](https://img.haomeiwen.com/i16004177/1d8c482e6be82025.png)
#我们使用 docker stop 命令来停止容器:
docker stop 88049c19c532
![](https://img.haomeiwen.com/i16004177/2e661650ba8dfd19.png)
#通过docker ps查看,容器已经停止工作
docker ps
![](https://img.haomeiwen.com/i16004177/923c9a9d4fffab01.png)
网友评论