docker使用(镜像、容器)

news2024/12/1 5:00:30

docker基础使用

文章目录

  • 前言
  • 1.镜像操作
    • 1.1命令介绍
    • 1.2.案例实操
      • 1.2.1查找镜像
      • 1.2.2下载镜像
      • 1.2.3查看当前镜像
  • 2.容器操作
    • 2.1命令
      • 2.1.1容器创建与启动
      • 2.1.2. 容器查看
      • 2.1.3. 容器操作
      • 2.1.4. 容器删除
      • 2.1.5. 容器日志
      • 2.1.6. 容器内文件操作
      • 2.1.7. 容器内命令执行
      • 2.1.8. 其他常用命令
    • 2.2.实例
      • 2.2.1运行容器
      • 2.2.2查看容器
      • 2.2.3替换自己的页面
        • 2.2.3.1进入容器交互界面
        • 2.2.3.2修改默认页面
        • 2.2.3.3退出容器操控界面
  • 总结


前言

dokcer的出现以及容器化技术的使用让我们能够更轻易的搭建环境和部署项目。
windows系统上通过docker desktop图形化工具可以简单直观的进行docker部署。
但是多数的项目是部署在linux服务器上,所以本篇介绍一些docker在linux上的基础使用方式。

这里演示时使用的操作系统是CentOS7


1.镜像操作

1.1命令介绍

  • docker search 镜像名:检索
  • docker pull 镜像名:镜像版本:下载
  • docker images:查看已有镜像
  • docker rmi 镜像名:镜像版本:删除已有镜像,其中镜像名和镜像版本可以换为镜像id

1.2.案例实操

1.2.1查找镜像

使用docker search命令查找镜像只会显示最新版本的镜像,如果要安装镜像的其他版本,需要到dockerhub上自行查找相关命令。
在这里插入图片描述

1.2.2下载镜像

使用docker pull下载镜像
在这里插入图片描述

1.2.3查看当前镜像

使用docker images可以看到已下载镜像的名称、版本、下载时间、大小。

在这里插入图片描述

2.容器操作

2.1命令

2.1.1容器创建与启动

  • docker run 可选参数 镜像名 额外参数:新建并启动容器。
    可以指定容器的名称、使用的镜像、端口映射、环境变量等。

例如,docker run -it --name my-nginx -p 8080:80 nginx 会创建一个名为my-nginx的容器,并将容器的80端口映射到主机的8080端口。该命令启动容器时,除了某些通用的可选参数外,还有一些镜像自己特有的参数,具体要看镜像文档说明。如果本地没找到对应的镜像,就会到hub中查找下载并运行。

2.1.2. 容器查看

  • docker ps:列出当前正在运行的容器。通过添加-a参数可以列出所有容器(包括历史运行过的容器)。
  • docker inspect:查看容器的详细信息,如配置、网络设置等。

2.1.3. 容器操作

  • docker start 容器名:启动已经停止的容器。
  • docker stop 容器名:停止正在运行的容器。
  • docker restart 容器名:重启容器。
  • docker kill 容器名:强制停止容器。

2.1.4. 容器删除

  • docker rm 容器名:删除已停止的容器。使用-f参数可以强制删除正在运行的容器。例如,docker rm -f $(docker ps -a -q) 会删除所有容器。

2.1.5. 容器日志

  • docker logs:查看容器的日志输出。使用-f参数可以实时查看日志。

2.1.6. 容器内文件操作

  • docker cp:在容器与主机之间拷贝文件。例如,docker cp 容器ID:容器内路径 主机路径 可以将容器内的文件拷贝到主机上。

2.1.7. 容器内命令执行

  • docker exec:在运行的容器中执行命令。例如,docker exec -it 容器ID /bin/bash 会在容器中启动一个新的bash会话。
  • docker attach:连接到正在运行的容器的标准输入输出流。与docker exec不同,docker attach会直接进入容器的当前终端会话,如果容器中没有正在运行的终端会话,则docker attach会失败。

2.1.8. 其他常用命令

  • docker top:查看容器内运行的进程。
  • docker port:列出容器的端口映射。
  • docker commit:从容器创建一个新的镜像。

2.2.实例

下面我们来演示一个实例——我们需要在云服务器上使用上一节下载的nginx镜像启动一个nginx容器,并使用它部署我们的网页到云服务器上。

2.2.1运行容器

这里把nginx容器的80端口映射到云服务器的80端口上,这样一来就可以访问云服务器的80端口来使用 nginx容器的服务。

在这里插入图片描述
docker run -d --name myginx -p 80:80 nginx

2.2.2查看容器

在这里插入图片描述
docker ps

2.2.3替换自己的页面

2.2.3.1进入容器交互界面

我们可以使用docker exec来到容器内进行操作。
以下命令指定要操控myginx容器,并且以bash(命令行)的形式操控。
在这里插入图片描述
docker exec -it myginx /bin/bash

2.2.3.2修改默认页面

docker容器中的linux系统十分轻便,没有安装vim编辑器,所以只能使用原生的linux命令来进行修改
在这里插入图片描述
修改了一下容器中部署的index.html文件内容为:

chen,docker

于是成功替换nginx默认页内容.效果如下:
在这里插入图片描述

2.2.3.3退出容器操控界面

输入exit即可退出对当前容器的操控
在这里插入图片描述


总结

本章简单介绍了如何在linux中使用docker完成基础的容器创建和运行。
后面还会再华另外的文章介绍如何更进一步使用docker的目录挂载,卷映射,网络。
以及如何使用docker compose批量管理容器,如何使用docker file打包等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2250885.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6.STM32之通信接口《精讲》之IIC通信---硬件IIC(STM32自带的硬件收发器)

上一节,完成了对IIC软件的实验程序,也就是说只要我们编程能够模拟IIC协议规定的时序,所有IIC的外设就能解析IIC的读出我们数据,就能和相关IIC外设进行交互,然后,STM32自带硬件收发电路,接下来我…

springboot337校园失物招领系统pf(论文+源码)_kaic

校园失物招领网站的设计与实现 摘要 近年来,信息化管理行业的不断兴起,使得人们的日常生活越来越离不开计算机和互联网技术。首先,根据收集到的用户需求分析,对设计系统有一个初步的认识与了解,确定校园失物招领网站…

智能探针技术:实现可视、可知、可诊的主动网络运维策略

网络维护的重要性 网络运维是确保网络系统稳定、高效、安全运行的关键活动。在当今这个高度依赖信息技术的时代,网络运维的重要性不仅体现在技术层面,更关乎到企业运营的方方面面。网络运维具有保障网络的稳定性、提升网络运维性能、降低企业运营成本等…

mybatis笔记01——初始配置

JavaEE三层架构:表现层(负责与用户的交互,通常实现了用户界面)、业务逻辑层(处理核心业务规则和逻辑,是应用程序的“心脏”。)、数据访问层(负责与数据源(如数据库&#…

第7篇 寻找最大数___ARM C语言程序<三>

Q:可以将寻找到的最大数结果显示在DE1-SoC开发板的硬件外设如红色LED上吗? A:基本原理:对红色LED的Data寄存器进行写操作即可。DE1-SoC_Computer系统上连接到红色LED的并行端口的内存映射地址为0xFF200000,是一个18位…

力扣刷题TOP101:6.BM7 链表中环的入口结点

目录: 目的 思路 复杂度 记忆秘诀 python代码 目的 {1,2},{3,4,5}, 3 是环入口。 思路 这个任务是找到带环链表的环入口。可以看作是上一题龟兔赛跑(Floyd 判圈算法)的延续版:乌龟愤愤不平地举报兔子跑得太快,偷偷…

webrtc视频会议学习(三)

文章目录 关联:源码搭建coturn服务器nginx配置ice配置需服务器要开放的端口 效果 关联: webrtcP2P音视频通话(一) webrtcP2P音视频通话(二) webrtc视频会议学习(三) 源码 WebRTC…

mac上的建议xftp 工具

mac上的建议xftp 工具 最近使用mac比较频繁了,但是第一次重度使用mac里面有很多的工具都是新的,有的window版本的工具无法使用。 xftp 的平替 Cyberduck 从它的官网上下载是免费的,但是如果使用 Apple store 要花费198呢。这不就剩下一大笔…

paimon的四种changelog模式(1)-input模式

环境创建 CREATE CATALOG fs_catalog WITH (typepaimon,warehousefile:/data/soft/paimon/catalog );USE CATALOG fs_catalog;drop table if exists t_changelog_input;CREATE TABLE t_changelog_input (age BIGINT,money BIGINT,hh STRING,PRIMARY KEY (hh) NOT ENFORCED )WIT…

【趣味】斗破苍穹修炼文字游戏HTML,CSS,JS

目录 图片展示 游戏功能 扩展功能 完整代码 实现一个简单的斗破苍穹修炼文字游戏,你可以使用HTML、CSS和JavaScript结合来构建游戏的界面和逻辑。以下是一个简化版的游戏框架示例,其中包含玩家修炼的过程、增加修炼进度和显示经验值的基本功能。 图片…

一款现代化的轻量级跨平台Redis桌面客户端

Tiny RDM‌ 是一款现代化的轻量级跨平台Redis桌面客户端,专为开发和运维人员设计,旨在提供便捷、高效的Redis操作体验。它支持macOS、Windows和Linux操作系统,安装包大小约为10MB,具有广泛的兼容性和便携性‌。 功能特性 ‌轻量级…

【大数据学习 | Spark调优篇】Spark之JVM调优

1. Java虚拟机垃圾回收调优的背景 如果在持久化RDD的时候,持久化了大量的数据,那么Java虚拟机的垃圾回收就可能成为一个性能瓶颈。因为Java虚拟机会定期进行垃圾回收,此时就会追踪所有的java对象,并且在垃圾回收时,找…

《使用Python进行数据挖掘:理论、应用与案例研究》

嘿,今天我要给你们介绍一本使用Python进行数据挖掘的好书。这本书是由吴迪博士撰写的,他是雷曼学院商学院的助理教授,也是数据科学的实战派。 在这个时代,数据多得让人眼花缭乱,要从中找出有用的信息,那可不…

C++之C++11新特性(三)--- 智能指针

目录 一、智能指针 1.1 为什么需要智能指针 1.2 内存泄漏 1.2.1 内存泄漏的基本概念 1.2.2 内存泄漏的分类 1.2.3 如何避免内存泄漏 1.3 智能指针的使用及其原理 1.3.1 RAII 1.3.2 智能指针的基本原理 1.3.3 auto_ptr 1.3.4 unique_ptr 1.3.5 shared_ptr 1.3.6 sha…

Flink学习连载文章8--时间语义

Time的分类 (时间语义) EventTime:事件(数据)时间,是事件/数据真真正正发生时/产生时的时间 IngestionTime:摄入时间,是事件/数据到达流处理系统的时间 ProcessingTime:处理时间,是事件/数据被处理/计算时的系统的时间 EventTime的重要性 假设,你正在去往地下停…

【Docker】部署nginx

docker部署nginx docker部署nginx镜像加速器1、拉取nginx镜像2、创建nginx容器3、浏览器访问 docker部署nginx 镜像加速器 备注:阿里云镜像加速地址 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors可用的镜像源: https://https://reg…

github webhooks 实现网站自动更新

本文目录 Github Webhooks 介绍Webhooks 工作原理配置与验证应用云服务器通过 Webhook 自动部署网站实现复制私钥编写 webhook 接口Github 仓库配置 webhook以服务的形式运行 app.py Github Webhooks 介绍 Webhooks是GitHub提供的一种通知方式,当GitHub上发生特定事…

Rust SQLx CLI 同步迁移数据库

上文我们介绍了SQLx及SQLite,并介绍了如何使用代码同步迁移数据库。本文介绍Sqlx cli 命令行工具,介绍如何安装、使用,利用其提供的命令实现数据表同步迁移。Java生态中有flyway, sqlx cli 功能类似,利用命令行工具可以和其他语言…

论文笔记-WWW2024-ClickPrompt

论文笔记-WWW2024-ClickPrompt: CTR Models are Strong Prompt Generators for Adapting Language Models to CTR Prediction ClickPrompt: CTR模型是大模型适配CTR预测任务的强大提示生成器摘要1.引言2.预备知识2.1传统CTR预测2.2基于PLM的CTR预测 3.方法3.1概述3.2模态转换3.…

解析客服知识库搭建的五个必要性

在当今竞争激烈的商业环境中,客服知识库的搭建已成为企业提升服务质量、优化客户体验的重要手段。一个完善的客服知识库不仅能帮助企业高效管理客户服务流程,还能显著提升客户满意度和忠诚度。以下是搭建客服知识库的五个必要性: 1. 提升服务…