Docker 允许你在容器内运行应用程序,使用docker run 命令在容器内运行一个应用程序。
输入HelloWorld
[email protected]:~# docker run ubuntu:14.04 /bin/echo "hello world"
各个参数解析
docker:docker 的二进制执行文件
run :与 前面的docker 组合来运行一个容器
Ubuntu 14.04 指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo "hello world" : 在启动的容器里执行的命令。
大致意思就是: Docker 以Ubuntu 14.04 镜像创建一个docker容器,然后在新容器中执行“/bin/echo "hello world" ” echo 打印 hello world;
由于docker 是新装的,所以本地是没有Ubuntu 14.04镜像的,所以docker需要自动到docker 库文件中找到并下载到本地库中(在这里,我自认为docker更像Maven)
当然我们可以进入我们运行的容器镜像中,进行操作:
[email protected]:~# docker run -i -t ubuntu:14.04 /bin/bash
然后我们可以对容器进行操作:
参数:
-t : 在新容器内指定一个伪终端
-i : 允许你对容器内的标准输出(STDIN)交互。
启动容器(后台模式)
使用以下命令创建一个循环输出helloworld 的以进程方式运行的新容器
[email protected]:~# docker run -d ubuntu:14.04 /bin/sh -c "while true;do echo hello world; sleep 1;done"
但是输出的不是循环的helloworld 而是(003d2d63d23d26c5e3655c1c08aa445b767299f7b6c5414b641f75a198b7b3f0)
这个长字符串叫做容器ID,对每个容器来说都是唯一的,我们可以通过容器ID来查看对应的容器发生了什么。
首先,我们需要确认容器有在运行,可以通过 docker ps 来查看
可以查看到在运行:
CONTAINER ID:容器ID
NAMES:自动分配的容器名称
在容器中使用docker logs命令 查看容器中的标准输出(日志)1. 使用docker ID
可以查看已经在输出了,每隔1s 进行一次打印
2.使用Docker Name
最后停止容器(1. 使用ID 2. 使用 DockerName)
docker stop (ID 或者Name)