【云原生|Docker系列第4篇】Docker的容器的入门实践

这篇具有很好参考价值的文章主要介绍了【云原生|Docker系列第4篇】Docker的容器的入门实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【云原生|Docker系列第4篇】Docker的容器的入门实践,云原生,云原生,docker,容器,运维,云计算

欢迎来到云原生系列的第4篇博客!在前面的两篇博客中,我们已经学习了Docker镜像的基本概念和入门实践。本篇博客将带您深入了解Docker容器,探索如何使用Docker容器来构建、运行和管理应用程序。无论您是新手还是有一定经验的开发者,通过本篇博客的实践指导,您将能够更加熟悉和掌握Docker容器的使用。

1. Docker容器的基本概念回顾

在开始探索Docker容器的实践之前,让我们简要回顾一下Docker容器的基本概念。Docker容器是基于Docker镜像创建的实例,它是一个独立、隔离的运行环境。每个容器都包含了运行应用程序所需的一切,包括文件系统、系统工具、库以及配置等。容器化技术的出现使得应用程序的开发、测试和部署更加灵活、高效。

1.1 Docker容器的特点

  • 隔离性:Docker容器提供了强大的隔离性,每个容器都是相互隔离的运行环境,互不影响。
  • 轻量级:相比传统的虚拟机,Docker容器更轻量级,启动和停止速度更快。
  • 可移植性:Docker容器可以在不同的主机和环境中运行,无需关注底层操作系统的差异。
  • 易于管理:容器可以通过命令行或者Docker客户端进行管理,如启动、停止、重启和删除等。

2. Docker容器的创建与启动

所需要的命令主要为 docker run。
例如,下面的命令输出一个 “Hello World”,之后终止容器。

$ docker run ubuntu:18.04 /bin/echo 'Hello world'
# Hello world

【云原生|Docker系列第4篇】Docker的容器的入门实践,云原生,云原生,docker,容器,运维,云计算

3. 守护态运行

更多的时候,需要让 Docker 在后台运行而不是直接把执行命令的结果输出在当前宿主机下。此时,可以通过添加 -d 参数来实现。
下面举两个例子来说明一下。
如果不使用 -d 参数运行容器。

$ docker run ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"

【云原生|Docker系列第4篇】Docker的容器的入门实践,云原生,云原生,docker,容器,运维,云计算

容器会把输出的结果 (STDOUT) 打印到宿主机上面
如果使用了 -d 参数运行容器。

$ docker run -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
5e99da6aae33ffa34700f71eea4a356b5cf135ad37756cf3848b4eeae2e806a2

此时容器会在后台运行并不会把输出的结果 (STDOUT) 打印到宿主机上面(输出结果可以用 docker logs 查看)。

docker container logs [container ID or NAMES]

【云原生|Docker系列第4篇】Docker的容器的入门实践,云原生,云原生,docker,容器,运维,云计算

4. 终止容器

可以使用docker container stop 来终止一个运行中的容器。
此外,当 Docker 容器中指定的应用终结时,容器也自动终止。
例如对于上一章节中只启动了一个终端的容器,用户通过 exit 命令或 Ctrl+d 来退出终端时,所创建的容器立刻终止。
例:

docker container stop 2d893c6294df604c3fd8f0e25e6975c0328fa6c65dcd763dab162e11dc281cfd

终止状态的容器可以用 docker container ls -a 命令看到。例如

$ docker container ls -a
CONTAINER ID        IMAGE                    COMMAND                CREATED             STATUS                          PORTS               NAMES
ba267838cc1b        ubuntu:18.04             "/bin/bash"            30 minutes ago      Exited (0) About a minute ago                       trusting_newton

【云原生|Docker系列第4篇】Docker的容器的入门实践,云原生,云原生,docker,容器,运维,云计算
此外,docker container restart 命令会将一个运行态的容器终止,然后再重新启动它。

5. 进入容器

某些时候需要进入容器进行操作,包括使用 docker attach 命令或 docker exec 命令,推荐大家使用 docker exec 命令,原因会在下面说明。

5.1 attach 命令

$ docker run -dit ubuntu
243c32535da7d142fb0e6df616a3c3ada0b8ab417937c853a9e1c251f499f550

$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
243c32535da7        ubuntu:latest       "/bin/bash"         18 seconds ago      Up 17 seconds                           nostalgic_hypatia

$ docker attach 243c
root@243c32535da7:/#

5.2 exec 命令

5.2.1 -i -t 参数

docker exec 后边可以跟多个参数,这里主要说明 -i -t 参数。
只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。
当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符。

$ docker exec -it 69d1 bash
root@69d137adef7a:/#

也可以刚运行容器时直接进来

docker run -it ubuntu:latest /bin/bash

【云原生|Docker系列第4篇】Docker的容器的入门实践,云原生,云原生,docker,容器,运维,云计算

6. 查看容器列表

要查看正在运行的容器列表,可以使用docker ps命令。该命令将显示容器的ID、镜像名称、创建时间、运行状态等信息。

docker ps

【云原生|Docker系列第4篇】Docker的容器的入门实践,云原生,云原生,docker,容器,运维,云计算
如果需要查看包括已停止的容器在内的所有容器,可以使用docker ps -a命令。
也可以在Docker客户端上查看:
【云原生|Docker系列第4篇】Docker的容器的入门实践,云原生,云原生,docker,容器,运维,云计算

7. 导出和导入

7.1 导出容器

如果要导出本地某个容器,可以使用 docker export 命令。

$ docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES
7691a813g370e        ubuntu:17.04        "/bin/bash"         21 hours ago        Exited (0) 11 hours ago                       test
$ docker export 7691a813g370e > ubuntu.tar

这样将导出容器快照到本地文件。

7.2 导入容器快照

可以使用 docker import 从容器快照文件中再导入为镜像,例如

$ cat ubuntu.tar | docker import - dev/ubuntu:v2.0
$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
dev/ubuntu         v2.0                9d37a608a97        About a hour ago   143.3 MB

7.3 删除容器

要删除一个已停止的容器,可以使用docker rm命令,并指定容器的ID或者名称。

docker rm <容器ID或名称>

总结

通过本篇博客的实践指导,我们深入了解了Docker容器的创建、运行、交互、管理和数据管理。Docker容器提供了一种轻量级、隔离的运行环境,使得应用程序的开发和部署更加灵活和高效。无论是开发人员还是运维人员,通过掌握Docker容器的使用,我们可以更好地构建、运行和管理应用程序。

希望本篇博客对您理解和使用Docker容器起到了很好的指导作用。在接下来的博客中,我们将进一步探索Docker的更多功能和应用场景,帮助您更好地利用云原生技术构建和部署应用程序。继续关注我们的云原生|Docker系列,带您进入云原生的精彩世界!文章来源地址https://www.toymoban.com/news/detail-585432.html

到了这里,关于【云原生|Docker系列第4篇】Docker的容器的入门实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 探索云原生技术之基石-Docker容器入门篇(4)

    本博文一共有7篇,如下 探索云原生技术之基石-Docker容器入门篇(1) 探索云原生技术之基石-Docker容器入门篇(2) 探索云原生技术之基石-Docker容器入门篇(3) 探索云原生技术之基石-Docker容器入门篇(4) ,=由于篇幅过长,所以另起一篇 等你对Docker有一定理解的时候可以看高级篇,不

    2023年04月08日
    浏览(29)
  • 探索云原生技术之基石-Docker容器入门篇(1)

    本博文一共有6篇,如下 探索云原生技术之基石-Docker容器入门篇(1) 探索云原生技术之基石-Docker容器入门篇(2) 探索云原生技术之基石-Docker容器入门篇(3) 等你对Docker有一定理解的时候可以看高级篇,不过不太建议。 探索云原生技术之基石-Docker容器高级篇(1) 探索云原生技术之

    2023年04月12日
    浏览(28)
  • 云原生系列之管理docker容器中的数据管理实战

    在生产环境中使用docker,一方面需要对数据进行保存或者在多个容器之间进行数据共享; 另一方面在docker的容器被删除之后,并不会保留容器的状态信息。 想要实现docker容器的信息持久化,就涉及到docker的数据管理,今天我们就来聊聊docker数据管理那些事。

    2024年02月12日
    浏览(27)
  • 在Docker中运行Jenkins容器:从入门到实践

    Jenkins作为一个流行的持续集成和持续交付(CI/CD)工具,其强大的功能和广泛的插件支持使其成为自动化软件开发流程的首选。结合Docker容器化技术,可以轻松地在任何支持Docker的平台上部署和运行Jenkins,实现环境一致性、快速部署和易于管理的CI/CD环境。本文将详细介绍如何

    2024年04月29日
    浏览(24)
  • 深入云原生:解析 Docker 容器、Serverless 计算和微服务架构的实战应用

    今天我想跟大家聊聊云计算的一些新潮玩意儿,我对云计算领域的一些前沿技术本身就特别感兴趣,比如 Docker 容器、Serverless 计算、微服务架构以及云原生架构。这些技术在数字化浪潮中扮演着重要角色,不仅改变了软件开发和部署的方式,还大大提高了企业的运营效率和市

    2024年04月10日
    浏览(43)
  • 云原生Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境

    构建可移植的计算机视觉环境 计算机视觉是一门涉及图像和视频处理的领域,可以应用于目标检测、图像识别、人脸识别等各种任务。 不同的开发环境、操作系统和硬件配置可能导致部署和运行计算机视觉应用的困难。 目的和重要性: Docker容器提供了一种轻量级、可移植、

    2024年04月11日
    浏览(28)
  • 『 云原生·Docker』Docker容器相关操作(二)

    本系列主要分为以下六大部分,正在更新中,尽请期待! 『 云原生·生之门』 『 云原生·前置知识』 『 云原生·Docker』 『 云原生·Kubernetes』 『 云原生·KubeSphere』 『 云原生·DevOps』 🚩点击关注本专栏 提示:已经更新的或正在更新的文章前面打勾了哈! 容器是 Docker的另一个

    2024年02月06日
    浏览(28)
  • 云原生系列 【轻松入门容器基础操作】

     ✅作者简介:                         CSDN内容合伙人,全栈领域新星创作者,阿里云专家博主,华为云云 享专家博主,掘金后端评审团成员 💕前言: 最近云原生领域热火朝天,那么云原生是什么?何为云原生?云原生用来干什么的?今天学长通过华为的沙箱实验操作

    2024年02月01日
    浏览(31)
  • 【云原生丶Docker】Docker容器常用命令大全

    在 Docker 核心概念理解 一文中,我们知道 Docker容器 其实就是一个轻量级的沙盒,应用运行在不同的容器中从而实现隔离效果。容器的创建和运行是以镜像为基础的,容器可以被创建、销毁、启动和停止等。本文将介绍下容器的这些常用操作命令。 docker run 命令表示新建并运

    2024年02月04日
    浏览(37)
  • 云原生Docker容器管理

    目录 docker容器的管理 容器创建  查看容器的运行状态 启动容器 创建并启动容器  终止容器运行  删除容器  容器的进入  查看容器详细信息 复制到容器中 从容器复制文件到主机 容器的导出与导入 导出  导入 相当于一个进程,性能接近于原生,几乎没有损耗; docker容器在

    2024年02月07日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包