动力节点Docker基础到高阶—Docker容器

自学docker必备课程笔记,b站上看到动力节点的docker视频教程,搬运了相关学习笔记,按照章节整理分享给需要的朋友们~

课程学习地址:https://www.bilibili.com/video/BV1sb411X7oe

4 Docker容器

4.1 容器基础

4.1.1 容器启动流程


通过docker run命令可以启动运行一个容器。该命令在执行时首先会在本地查找指定的镜像,如果找到了,则直接启动,否则会到镜像中心查找。如果镜像中心存在该镜像,则会下载到本地并启动,如果镜像中心也没有,则直接报错。
如果再与多架构镜像原理相整合,则就形成了完整的容器启动流程。

4.1.2 容器运行本质

Docker容器存在的意义就是为了运行容器中的应用,对外提供服务,所以启动容器的目的就是启动运行该容器中的应用。容器中的应用运行完毕后,容器就会自动终止。所以,如果不想让容器启动后立即终止运行,则就需要使容器应用不能立即结束。通常采用的方式有两种,使应用处于与用户交互的状态或等待状态。

4.2 容器创建并启动命令

对于容器的运行,有两种运行模式:交互模式与分离模式。下面通过运行ubuntu与tomcat来演示这两种运行模式的不同。

4.2.1 以交互模式运行ubuntu

  • –name指定当前容器名称为myubuntu

  • -it指定以交互模式运行容器,且为容器分配一个伪终端。

  • 后面的/bin/bash用于指定容器启动后需要运行的命令为/bin下的bash命令,而该命令会启动一个bash终端。

    我们在这里运行了一个ubuntu系统的容器,并为其取名为myubuntu。另外我们可以注意到,命令行前面提示部分内容发生了变化:原来显示的是[root@docker ~],而现在变为了root@de0940ad17dd:/#,这个就是docker生成的伪客户端,而数字de0940ad17dd表示的是docker容器的ID。
    此时就可以通过Linux命令对该ubuntu系统进行操作了。不过,由于容器中的该系统是一个精简的系统,有很多常用命令是没有安装的,所以如果要使用这些命令,就需要安装。

4.2.2 以交互模式运行tomcat


通过ls –l命令可查看tomcat根目录下的文件。注意,不支持ll命令。

下面也是以交互模式运行tomcat容器,不同的是,该命令后没有/bin/bash,此时会真正启动tomcat。

-p用于指定端口映射,格式为 暴露给宿主机的端口:容器中应用的端口
回车后会发现tomcat已启动,且tomcat的日志输出占居了命令行。

此时在Window的浏览器中通过8081端口可以访问到tomcat。

4.2.3 以分离模式运行tomcat

下面是以分离模式运行的tomcat,返回的是容器ID。

-d选项表示以分离模式(detached mode)运行容器,即命令在后台运行,命令的运行与宿主机的运行分离开来。

可以看到,已经启动了三个tomcat容器。且无论是IPv4还是IPv6,端口映射关系都很明确。此时通过window系统中的浏览器访问docker主机中映射的三个tomcat端口号就可以访问到tomcat。
通过该访问可以知道为什么要做端口映射的原因了:为了使相同的客户端主机可以访问同一宿主机上相同端口号的不同容器。


4.2.4 以分离模式运行ubuntu


该运行方式存在一个问题:容器使用命令启动了,但通过docker ps命令查看不到。
再通过docker ps –a命令可以发现该容器,只不过其已经退出。docker ps查看的就是up状态的容器,由于其已经退出,所以docker ps查看不到。

4.3 容器创建命令

docker create命令仅创建容器但不启动,其用法与docker run非常相似。注意,其没有-d选项。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值