有镜像才能创建容器,这是根本前提(下载一个CentOS镜像演示)
docker pull centos
新建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明
OPTIONS说明(常用):有些是一个减号,有些是两个减号
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
启动交互式容器
新建个命令窗口,用docker ps看下是不是运行容器内的centos镜像。
发现和上面的ID是一样的,所以是运行在docker里面centos镜像
- 使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。容器名称centos也可以写image ID,后面的/bin/bash可以省略。
docker run -it centos /bin/bash
列出当前所有正在运行的容器
docker ps [OPTIONS]
OPTIONS说明
OPTIONS说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的
这里注意的是STATS(状态),Up表示还在运行,Exited表示停止了的。NAMES如果没有自定义,docker会帮你定义镜像的名字
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
--no-trunc :不截断输出。
退出容器
两种退出方式:
- exit:容器停止退出
- ctrl+P+Q:容器不停止退出
自定义容器名来登录centos镜像,这是便于以后好区分是哪个容器
docker run -it --name mycentos centos
在新窗口可以查看到:
启动容器
- docker start 容器ID或者容器名
- 重启容器
docker restart 容器ID或者容器名 - 停止容器
docker stop 容器ID或者容器名 - 强制停止容器
docker kill 容器ID或者容器名 - 删除已停止的容器
docker rm 容器ID
后面加个f,就是强制删除了 - 一次性删除多个容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm