文章目录

      • 容器命令
        • 创建并启动容器
        • 列举运行的容器
        • 退出容器命令
        • 启动容器
        • 重启容器
        • 停止容器
        • 强制停止容器
        • 删除容器
      • 常用其他命令
        • 后台启动容器
        • 查看运行日志
        • 查看容器中的进程信息
        • 查看容器或镜像的元数据
        • 进入当前正在运行的容器
        • 从容器内拷贝文件到主机上

容器命令

说明:有镜像才能创建容器。

下面我们来下载一个CentOS镜像来测试。

docker pull centos

创建并启动容器

创建并启动一个容器的命令

docker run [OPTIONS] IMAGE [COMMAND]

OPTIONS中的一些参数

options说明
–name“容器新名字”: 为容器指定一个名称
-d后台运行容器,并返回容器ID,也即后台启动容器
-i以交互模式运行容器,通常与 -t 同时使用
-t为容器重新分配一个伪输入终端,通常与 -i 同时使用
-P:随机端口映射
-p指定端口映射,比如:-p 8080:8080,有以下四种格式:
-p ip:主机端口:容器端口
-p 主机端口:容器端口 (常用)
-p 容器端口
容器端口

启动并进入容器:

docker run -it centos /bin/bash

列举运行的容器

​ 我们要查看当前正在运行的容器有哪些,可以通过ps命令来查看

docker ps [OPTIONS]

OPTONS中的一些参数

OPTIONS说明
-a列出当前所有正在运行的容器+历史上运行过的容器
-l显示最近创建的容器
-n显示最近n个创建的容器
-q静默模式,只显示容器编号
–no-trunc不截断输出

退出容器命令

​ 我们启动了一个容器后,如何退出容器?可以使用exit命令,也可以使用快捷键Ctrl+P+Q。

exit
退出方式说明
exit容器停止退出
Ctrl+P+Q容器不停止退出

启动容器

docker start 容器ID或者名称

重启容器

docker restart 容器ID或者名称

停止容器

docker stop 容器ID或者名称

强制停止容器

docker kill 容器ID或者名称

删除容器

​ 有时候容器使用完就没有作用了,如果我们想要删除掉容器,这时可以通过rm命令

docker rm 容器ID#删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -fdocker rm -f $(docker ps -aq)#强制删除所有的容器docker ps -a -q | xargs docker rm#删除所有的容器

常用其他命令

后台启动容器

docker run -d 容器名称

注意:通过上图可以看到,CentOS停止了。因为我们通过 docker ps 命令可以看到没有正在运行的容器,刚刚启动的容器已经退出了。

这是因为docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止。

为了让容器能够一直执行,我们可以在启动容器后,在后台运行一个循环的脚本

docker run -d centos /bin/bash -c 'while true;do echo hello world;sleep 2;done'

查看运行日志

docker logs -t -f 容器ID #查看全部的运行日志docker logs -t -f --tail 3(日志行数) 容器ID#查看最近几行运行日志,这里是最近3行

查看容器中的进程信息

docker top 容器ID

查看容器或镜像的元数据

我们想要查看容器的细节可以通过inspect命令

docker inspect 容器ID

进入当前正在运行的容器

#通常容器都是使用后台方式运行的,需要进入容器,修改一些配置#命令#方式一docker exec -it 容器ID bashShell#方式二docker attach -it 容器ID#区别#docker exec进入容器后开启一个新的终端,可以在里面操作(常用)#docker attach进入容器正在执行的终端,不会启动新的进程
进入方式说明
exec在容器中打开新的终端,并且可以启动新的进程
attach直接进入容器启动命令的终端,不会启动新的进程

从容器内拷贝文件到主机上

​ 我们有时需要从容器中拷贝内容到宿主机中,可以使用以下命令:

docker cp 容器ID:容器内路径目的主机路径