docker中对于容器(Container)的介绍及使用命令

docker中对于容器(Container)的介绍及使用命令

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的root文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID 空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。也因为这种隔离的特性,很多人初学 Docker 时常常会混淆容器和虚拟机。

每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,我们可以称这个为容器运行时读写而准备的存储层为容器存储层。

容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失

按照 Docker 最佳实践的要求,容器不应该向其存储层内写入任何数据,容器存储层要保持无状态化。所有的文件写入操作,都应该使用数据卷(Volume)、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或网络存储)发生读写,其性能和稳定性更高。

容器指令

查看容器

docker ps

注意:
管理docker容器可以通过名称,也可以通过ID

ps是显示正在运行的容器, -a是显示所有运行过的容器,包括已经不运行的容器

启动容器
守护进程方式启动容器

docker run [参数] docker_image [执行的命令]

让Docker容器在后台以守护形式运行。此时可以通过添加-d参数来实现

docker run -d nginx

在这里插入图片描述

-t选项让Docker分配一个伪终端并绑定到容器的标准输入上,-i则让容器的标准输入保持打开

docker run -i -t nginx /bin/bash

在这里插入图片描述
–name选项来给容器设置一个名字

docker run --name myubuntu -dit ubuntu

启动已终止的容器
在生产过程中,常常会出现运行和不运行的容器,我们使用 start 命令开起一个已关闭的容器

docker start [container_id]

关闭容器
在生产中,我们会以为临时情况,要关闭某些容器,我们使用 stop 命令来关闭某个容器

docker stop [container_id]

在这里插入图片描述

删除容器
删除容器有两种方法:

  • 正常删除 – 删除已关闭的

  • 强制删除 – 删除正在运行的

正常删除容器

docker rm [container_id]

强制删除运行容器

docker rm -f [container_id]

拓展批量关闭容器

docker rm -f $(docker ps -a -q)

在这里插入图片描述

进入正在运行的容器

docker exec [选项] 容器id/容器名 命令

只用-i参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。

当-i-t参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符

docker exec -it myubuntu /bin/bash

在这里插入图片描述
注:exit退出容器,不会导致容器的停止

基于容器创建镜像

docker commit -m '改动信息' -a "作者信息" container_id new_image:tag

命令演示:

进入一个容器,创建文件后并退出

docker exec -it myubuntu /bin/bash
root@ea100f3f0dd8:/# mkdir haha
root@ea100f3f0dd8:/# touch haha.txt
root@ea100f3f0dd8:/# ls
bin  boot  dev  etc  home  haha  haha.txt  lib  lib64  media  mnt  opt  tmp  usr  var
root@ea100f3f0dd8:/# exit

创建一个镜像

docker commit -m 'mkdir' -a 'beijixiong' myubuntu newubuntu:latest

查看镜像

docker images

启动一个容器

docker run -it newubuntu

进入容器进行查看

ls

查看容器详细信息

docker inspect [容器id]

查看容器全部信息

docker inspect 5f2bf39d64f1

在这里插入图片描述
查看容器运行日志

docker logs [容器id]

命令效果:

docker logs 5f2bf39d64f1

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值