跳转至

Docker 容器使用

约 323 个字 12 行代码 预计阅读时间 1 分钟

来源:Docker Hello World | 菜鸟教程

Hello World

$ docker run ubuntu:15.10 /bin/echo "Hello world"

其中:

  • run:运行容器。
  • ubuntu:15.10 :要运行的镜像。Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
  • /bin/echo "Hello world" :在启动的容器里执行的命令。

交互式容器

runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
root@0123ce188bd8:/#
  • -t :在新容器内指定一个伪终端或终端。
  • -i :允许你对容器内的标准输入 (STDIN) 进行交互。

退出容器可用Ctrl + Dexit 指令。

启动容器(后台模式)

runoob@runoob:~$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63

进入容器中执行命令

docker exec -it 2b1b7a /bin/bash

查看容器运行状态

1
2
3
runoob@runoob:~$ docker ps
CONTAINER ID        IMAGE                COMMAND ...
5917eac21c36        ubuntu:15.10        "/bin/sh -c 'while t…" ...
  • CONTAINER ID :容器 ID。
  • IMAGE :使用的镜像。
  • COMMAND :启动容器时运行的命令。
  • CREATED :容器的创建时间。
  • STATUS :容器状态。状态有7种:
  • created (已创建)
  • restarting (重启中)
  • runningUp (运行中)
  • removing (迁移中)
  • paused (暂停)
  • exited (停止)
  • dead (死亡)
  • PORTS :容器的端口信息和使用的连接类型( tcp \ udp )。
  • NAMES :自动分配的容器名称。

查看容器内标准输出

$ docker logs 2b1b7a428627

后可接ID的一部分或名称。

停止容器

$ docker stop 2b1b7a428627

此时通过 docker ps,查不到该容器。

Getting Started

$ docker run -d -p 80:80 docker/getting-started
  • -d :后台模式
  • -p 80:80 :将主机的80端口(前)映射到容器的80端口(后)
  • docker/getting-started :运行的镜像