使用 docker run 在容器内运行一个应用程序 并输出 Hello world
进入docker环境
执行下面命令
docker run ubuntu:15.10 /bin/echo "Hello world oh"
上面的语句参数解析:
docker : docker 的二进制执行文件
run : 与前面的docker组合起来,运行一个容器
ubuntu:15.10 : 指定要运行的镜像,docker先从本地主机查找是否存在该镜像,如果不存在就从镜像仓库 Docker Hub 下载公共镜像
/bin/echo “Hello world oh” :在启动的容器中执行的命令
完整意思表达为:使用 docker 以 ubuntu:15.10 为镜像创建一个容器 并执行指令 /bin/echo “Hello world oh” 输出结果
运行一个交互式的容器可以执行指令:
docker run -i -t ubuntu:15.10 /bin/bash root@0133ef168ma6:/#
root@0133ef168ma6:/#
上面一行意味着我们进入了容器内
参数解析:
-i : 允许对容器内的标准输入 (STDIN) 进行交互
-t : 在新容器内指定一个伪终端或终端
在容器内执行:
cat /proc/version
和
ls
分别可以查看 当前系统的版本信息 以及 当前目录下的文件列表
可以通过
exit
或者 ctrl + D 退出容器
后台模式—启动容器执行下面指令以进程的方式启动容器
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done" qd8416ef58h1323c13h5hj5645ui4o6f5v46s51vf5h4z60
实际给我们返回的是 qd8416ef58h1323c13h5hj5645ui4o6f5v46s51vf5h4z60 并没有打印hello world,返回的这个长字符串为正在运行的容器Id,Id自然是唯一的,我们可以通过该Id来查看对应容器发生了什么。
确认容器的运行,查看所有容器可执行指令
docker ps
出现类似如下内容
root@root:~$ docker ps ConTAINER ID IMAGE COMMAND ... cx5s416bgfd5 ubuntu:15.10 "/bin/sh -c 'while t…" ...
各参数详解:
ConTAINER ID : 容器ID
IMAGE : 使用的镜像
COMMAND :启动容器时执行的指令
CREATED : 容器创建时间
STATUS : 容器状态
PORTS : 容器端口信息和使用的连接类型(tcpudp)
NAMES : 自动分配的容器名称
容器的状态有 7 中:
created(已创建)
restarting(重启中)
running 或 Up(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)
在宿主机内使用:
docker logs q7w5e5ra2d5f
查看容器内的标准输出
或指令:
docker logs amazing_cori停止容器
执行指令:
docker stop q7w5e5ra2d5f
然后可以再通过 docker ps 来查看容器状态,或使用 docker stop amazing_cori 也可以停止容器;



