依照传统,我们来运行著名的Hello World程序。
使用Docker来运行应用程序表示的是执行一个已安装了这个程序的Docker container;container是基于作为模版的Docker image,而image存储在registry里。
首先,我们要确保Docker daemon正在运行,而且设备网络连接正常。因为首次的时候,Docker需要从Docker Hub上获取Docker images并保存在我们本地的registry里,下次就不用重复获取了。
我们用docker run命令在docker容器里运行程序:
docker run ubuntu /bin/echo "Hello World"
执行后,终端里会显示出"Hello World"。
我们指定了docker命令并传给他了run作为参数来运行一个容器。接着,我们指定了用来创建容器的镜像ubuntu。如果想要指定一个特定的版本,我们可以在镜像后面加上一个冒号和版本号,例如:ubuntu:16.04。最后,我们制定了要在容器中运行的应用程序/bin/echo,并传递了字符串"Hello World"作为参数。
如果想运行一个交互式的容器,我们执行:
docker run -i -t ubuntu:16.04 /bin/bash
它将返回给我们容器的终端,并将我们当前的输入输出定向到容器中。我们可以输入exit来退出这个终端并终止容器。
-t表示在我们的容器中分配一个终端;-i表示在我们的计算机STDIN和容器STDIN之间建立一个交互式连接。
接下来,我们运行一个简单的daemon容器:
docker run -d ubuntu /bin/bash –c "for i in {1..30};do echo 'Hello World'; done"
字符串"Hello World"并没有显示在我们的终端上,相反,docker返回了一个长字符串,这个长字符串被称为容器ID,它唯一标识一个容器,可以用在docker命令中与容器进行交互。
-d表示在后台运行容器。
那么怎么下载一个容器而不运行它呢?答案就是,docker pull命令。例如:
docker pull ubuntu:16.04