Docker 容器基本操作

查看容器

启动容器后,使用docker ps命令查看当前正在运行的容器:
在这里插入图片描述

查看容器时涉及到的几个参数

参数释义
CONTAINER ID容器id,唯一标识符,64位的十六进制整数,在不会混淆的情况下可以只采用id的前几位进行标识一个容器
IMAGE创建容器时使用的镜像
COMMAND表示容器最后的运行命令
CREATED创建容器的时间
STATUS容器状态,这里可能显示容器启动的时间,也可能是容器关闭的时间;具体要看哪个容器当前的状态
PORTS容器对外开放的端口
NAMES容器的名字,如果不设置,会自动生成一个默认的名字

docker ps 的其他命令
在这里插入图片描述

创建容器

有2中方式创建容器。1. 先创建,在启动; 2创建并且启动。
这两种方式的流程都很相似,当执行一个创建命令时,docker会首先去本地路径下查找是否有相应的镜像,如果没有就去你配置的镜像仓库(默认是 docker hub)上搜索,如果搜索到了,则下载下来,然后利用该镜像创建一个容器并启动。容器的文件系统是在只读的镜像文件上添加一层可读写的文件层,这样可以在不改变镜像的情况下,只改变记录数据

先创建,在启动

docker create nginx

这里的nginx是指IMAGE,容器会自动生成一个名字

docker create --name=nginx nginx

–name=nignx 这里的nginx指的是NAMES也就是你为容器指定的名称

创建+启动

docker run

后台型容器

以nginx为例
docker run --name nginx1 -d -p 8080:80 nignx

这里的–name nginx1 和上文的意思一致
-d 表示容器在后台运行
-p 表示表示将容器的80端口映射到宿主机的8080端口
在浏览器输入 http://docker容器的ip地址:8080就可以看到Nginx默认页面
在这里插入图片描述

交互型容器

例如创建一个Ubuntu容器
docker run --name ubuntu -it ubuntu /bin/bash

-it
i 表示开发容器的标准输入(STDIN)
t 表示告诉docker为容器创建一个命令行终端
这个命令执行结果如下
在这里插入图片描述

启动容器

docker start
如前文所说,如果使用的是docker create 命令,则需要执行docker start命令
完整的容器启动命令:
docker start id|name

id 指的是你创建容器时,容器的CONTAINER ID
name 指的是 容器的NAMES

重启

容器在启动过程中,不可避免会出现问题,需要能够自动重启,在容器启动时使用--restart参数可以实现这一需求。根据docker官网解释,docker重启策略有4中:

策略结果
no不自动重启容器,默认即此
on-failure[:max-retries]表示在退出状态为非0时才会重启,有一个可选参数:最大重启次数,达到上限后就会放弃重启
always始终重启容器,当docker守护进程启动时,无论容器当时的状态为何,都会尝试重启容器
ubless-stopped表示始终重启容器,当docker守护进程启动时,如果容器已经停止运行,则不会重启它

停止容器

docker stop id|name

id 指的是你创建容器时,容器的CONTAINER ID
name 指的是 容器的NAMES

容器删除

单个删除

docker rm id|name

id,name 意思和前文一样
删除容器时,只能删除已经停止的容器

如果非要删除一个正在运行的容器,可以通过-f参数实现
docker rm -f id|name

批量删除

docker rm $(docker ps -a -q)

docker ps -a -q会列出所有容器的id,供rm命令删除
docker container prune 也支持删除以退出的孤立容器

依附容器

docker attach id|name
此命令主要是针对交互容器而言,执行此命令之前首先要确保容器已经启动,然后使用该命令才能进入到容器中,具体操作过程如下图所示:
在这里插入图片描述

容器内执行命令

docker exec
docker attach的区别

dcoker exec: 在容器内执行命令,用户退出后,容器仍在后台运行
docker attach: 用户退出后,容器自动关闭
在这里插入图片描述

查看容器信息

容器创建成功后可以通过 docker inspect命令查看容器详细信息:包括容器id、容器名、环境变量、运行命令、主机配置、网络配置以及数据卷配置等信息。执行结果部分截图如下
在这里插入图片描述
使用format命令可以只查看用户关心的数据

  1. 查看容器运行状态:
    docker inspect -f='{{.State.Running}}' ubuntu 在这里插入图片描述
  2. 查看容器ip地址
    docker inspect -f='{{.NetworkSettingsd.IPAddress}} ubuntu'
    在这里插入图片描述
  3. 查看容器名、容器id
    docker inspect -f='{{.Name}} {{.ID}}' ubuntu
    在这里插入图片描述
  4. 查看容器主机信息
    docker inspect -f='{{HostConfig}}' ubuntu
    在这里插入图片描述

查看容器进程

docker top id|name
使用此命令时确保容器已经启动,结果如下
在这里插入图片描述

查看容器日志

dcoker logs id|name
查询结果如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值