【docker】命令之容器操作

devtools/2024/9/20 4:16:04/ 标签: docker, 容器, 运维

一、前言

  在上篇博客介绍了关于如何从应用市场,下载镜像后,对镜像的相关操作了。这篇博客呢我们就要讲解我们把镜像下载下来了,启动这个镜像后,就是我们说的容器了,那么容器的具体操作又有那些呢?

二、容器操作命令

我们之前说过,每一个镜像启动后就是一个容器,而且每个容器都代表一个运行中的应用,对这些应用的相关命令操作如下:

1、具体命令

#运行一个新容器
docker run 容器名称

# 查看运行中的应用

docker ps

#停止容器
docker stop 容器ID
#启动容器
docker start 
#重启容器
docker restart 容器ID
#查看容器资源占用情况
docker stats 容器ID
#查看容器日志
docker logs 容器ID
#删除指定容器
docker rm 容器ID
#强制删除指定容器
docker rm -f 容器ID
# 后台启动容器
docker run -d --name mynginx nginx
# 后台启动并暴露端口
docker run -d --name mynginx -p 80:80 nginx
# 进入容器内部
docker exec -it mynginx /bin/bash

2、具体操作

①运行一个新容器
docker run nginx

981284be48914d2498a5c96bc2b43797.png

dd4d5df94cf64249ad45179032a2a136.png

② 查看运行中的应用

如果没有运行的应用,则使用该指令找不到应用信息

docker ps

230b694467694267914b976475c88413.png

docker ps -a(可以查看所有的容器不管是否在运行)

cd48b1cf32bc43b89a51a16570873adc.png

③停止容器
docker stop 容器ID

4e63b130fac94f4fa2cb58ad38662b7d.png

④启动容器
docker start 容器ID

docker restart 容器ID:表示不管容器是停止还是运行,都会重启一遍,具体操作和start用法相同。

0fe0a8c3e5134766b052ec33fb7431bb.png

⑤查看容器资源占用情况
docker stats 容器ID

c3945d77593c4e5b819bf6b76b90010f.png

⑥查看容器日志
docker logs 容器ID

ef3a00b5115b43e28eb49d70dac06526.png

⑦删除指定容器
docker rm 容器ID

强制删除指定容器
docker rm -f 容器ID

ps:注意这里删除的命令是rm 和 镜像删除的命令 rmi 是不同的)

6a7c7caa9a0742abaa57e34c26341b85.png

3、run命令细节

上面用的docker run 容器ID的方法可以,运行容器,但是如果我们想通过浏览器访问其对应的端口却访问不了,这里我们需要对我们的run命令做一些其他操作。

具体指令如下:

①后台启动容器(--name表示自己定义容器名称)
docker run -d --name mynginx(自己命名即可) nginx
②后台启动并暴露端口(-p 表示端口映射,80:80表示外部的服务器的端口80和容器内部的端口80进行映射)
docker run -d --name mynginx -p 80:80 nginx

3c2df9970ed74778b71ce184a22f7cfb.png

访问浏览器:

6e1b3071d9904c128bee1ee8c90789fd.png

来到nginx首页

799a946220aa49e4a5bb2ae43f54a26f.png

特别注意:对于我们外部服务器的端口是不可以重复的,容器内部的端口可以重复!

4、页面修改

当我们进入了Nginx的首页后如何修改里面的内容呢?

使用docker exec -it mynginx(自己定义的容器名称) /bin/bash进入容器内部

03450507803b4b899d084df033ca1903.png

docker_hub中nginx的默认静态数据所在位置

8bf0a4fc803c4c2d8196359b8ec3e7a3.png

再次访问浏览器,内容已经改变!

8f1955ceef684751be75f8e28c2b91f1.png

 

最后可以通过“exit”退出容器即可。

三、总结

   这部分我们介绍了容器中的相关命令操作,以及如何修改容器中的内容。后面我们将以我们修改好的这个mynginx为例,看如何将其保存下来,并分享到我们的docker_hub社区!

 


http://www.ppmy.cn/devtools/114400.html

相关文章

linux-系统管理与监控-磁盘管理

Linux 系统管理与监控:磁盘管理 一、概述 在 Linux 系统中,磁盘管理是系统管理员日常维护的一个重要部分。合理管理和监控磁盘使用情况,可以确保系统的稳定运行,并有效利用存储资源。磁盘管理涉及的内容包括查看磁盘信息、创建和…

面向开发者的LLM入门教程(学习笔记01)

关注B站可以观看更多实战教学视频:hallo128的个人空间 面向开发者的LLM入门教程(学习笔记01) 吴恩达老师的《Prompt Engineering for Developer》课程 一、简介 1.LLM的定义 大语言模型(LLM) 的更强大功能是能通过…

OpenCV结构分析与形状描述符(23)确定一个点是否位于多边形内的函数pointPolygonTest()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 进行点在轮廓内的测试。 该函数确定点是在轮廓内、轮廓外,还是位于一条边上(或与顶点重合)。它返回正值&…

设计模式(Design Patterns)

设计模式(Design Patterns)是软件开发人员在软件设计过程中面临的一般性问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式的目的是为了提高代码的可重用性、可维护性、可读性、可靠性以及灵活性。设…

java项目之编程训练系统源码(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的编程训练系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 编程训练系统的主要使用者管…

2024年9月HarmonyOS鸿蒙应用开发者高级认证全新题库(覆盖99%考题)

一个小时通过鸿蒙高级认证 1、在开发 Harmony0S 应用工程时, 随着业务的发展,现在需要创建一个模块, 关于在 DevEco Studio 中创建 Module , 下列选项哪种方式是错误的? 必对 在 hvigor 目录下,单击鼠标右键&#xf…

【HarmonyOS】云开发-云数据库(二)

背景 书接上回,实现了云侧和端侧的云数据库创建、更新、修改等操作。这篇文章实现调用云函数对云数据库进行增删改查。 CloudProgram 项目配置 新建函数 在cloudfunctions目录下点击右键,选择新建Cloud Function,输入query-student-functi…

Android 设计模式

设计模式六大原则 单一职责原则(Single Responsibility Principle, SRP) 每个类应该仅有一个引起它变化的原因。 这意味着一个类只应该专注完成一项任务或功能。 举例 考虑一个 User 类,用于表示用户信息,例如用户名和密码。如…

4. 如何在Java中使用HikariCP或C3P0来管理MySQL数据库连接池?

在Java中使用连接池来管理数据库连接是一种常见的做法,能够显著提高应用程序的性能和资源利用率。HikariCP 和 C3P0 是两种常用的数据库连接池实现。下面将分别介绍如何在Java中使用这两种连接池来管理MySQL数据库连接。 1. 使用HikariCP管理MySQL数据库连接池 1.1 …

亲测有效,长期有效的RTSP流地址公网RTSP地址,各种类型的视频源

我们经常需要做一些实时视频流的测试,但是手边又没有办法及时弄到一个摄像机,我们经常会去搜索一下“公网RTSP地址”,但是大部分现在都失效了,有什么办法能够让我们快速构建一个RTSP流,点几下就能直接用? …

C++核心编程和桌面应用开发 第一天(命名空间 using 内联函数 默认参数 C++和C的不同)

目录 1.C的编程方式 2.双冒号::运算符 3.命名空间 3.1作用 3.2命名空间内的东西 3.3注意事项 4.using的用法 4.1using的声明 4.2using编译指令 5.C相较于C的增强 5.1全局变量检测增强 5.2函数检测增强 5.3类型转换检测增强 5.4结构体增强 5.5三目运算符增强 5.…

Spring Boot-定时任务问题

Spring Boot 定时任务问题及其解决方案 1. 引言 在企业级应用中,定时任务是一项常见需求,通常用于自动化执行某些操作,如数据备份、日志清理、系统监控等。Spring Boot 提供了简洁易用的定时任务机制,允许开发者通过简单的配置来…

笔试强训day15

平方数 牛妹是一个喜欢完全平方数的女孩子。 牛妹每次看到一个数 x,都想求出离 x 最近的完全平方数 y。 每次手算太麻烦,所以牛妹希望你能写个程序帮她解决这个问题。 形式化地讲,你需要求出一个正整数 y,满足 y 可以表示成 a2a^…

网页打开时,下载的文件xhr类型有什么作用?

网页打开时下载的文件xhr类型主要用于与服务器交互数据,实现网页的动态更新和内容局部加载。‌ XMLHttpRequest(XHR)对象是浏览器内置的一个功能强大的Web API,它允许网页通过JavaScript向服务器发出请求并处理响应,而…

Chainlit集成LlamaIndex并使用通义千问模型实现AI知识库检索网页对话应用增强版

前言 之前使用Chainlit集成LlamaIndex并使用通义千问大语言模型的API接口,实现一个基于文档文档的网页对话应用。 可以点击我的上一篇文章《Chainlit集成LlamaIndex并使用通义千问模型实现AI知识库检索网页对话应用》 查看。 本次针对上一次的代码功能进一步的完善…

微信小程序页面制作——婚礼邀请函(含代码)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

htop(1) command

文章目录 1.简介2.格式3.选项4.交互式命令5.示例6.小结参考文献 1.简介 htop 是一种交互式、跨平台的基于 ncurses 的进程查看器。 类似于 top,但 htop 允许您垂直和水平滚动,并使用指向设备(鼠标)进行交互。您可以观察系统上运行的所有进程&#xff0…

macOS平台编译MAVSDK源码生成mavsdk库与mavsdk_server服务可执行文件

克隆源码: 克隆命令 git clone https://github.com/mavlink/MAVSDK.git --recursive 克隆成功如下: 生成makefile (只生成mavsdk库) cmake -Bbuild/default -DCMAKE_BUILD_TYPE=Debug -H. 指定安装目录与生成目录: cmake -Bbuild/macos -DCMAKE_BUILD_TYPE=Debug -…

定制相亲交友系统如何提升用户体验

在当今社会,随着互联网技术的发展,人们的生活方式发生了翻天覆地的变化,其中婚恋交友领域尤为明显。越来越多的年轻人不再满足于传统的相亲方式,他们渴望一种更为高效、便捷且个性化的交友体验。正是在这种背景下,定制…

python清除一个月以前的ES索引文档数据

python清除一个月以前的ES索引文档数据 先查看一下mysql 数据,看一下那一列是日期字段看到是 edittime 列以下是 python 脚本 vim delete_old_noticeresult.py import datetime from elasticsearch import Elasticsearch, RequestError import logging# 配置日志 …