docker使用(镜像、容器)

embedded/2024/11/30 12:24:30/

docker基础使用

文章目录

  • 前言
  • 1.镜像操作
    • 1.1命令介绍
    • 1.2.案例实操
      • 1.2.1查找镜像
      • 1.2.2下载镜像
      • 1.2.3查看当前镜像
  • 2.容器操作
    • 2.1命令
    • 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. 容器操作

2.1.4. 容器删除

2.1.5. 容器日志

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

2.1.6. 容器内文件操作

2.1.7. 容器内命令执行

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

2.1.8. 其他常用命令

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.ppmy.cn/embedded/141742.html

相关文章

挑战用React封装100个组件【001】

项目地址 https://github.com/hismeyy/react-component-100 组件描述 组件适用于需要展示图文信息的场景,比如产品介绍、用户卡片或任何带有标题、描述和可选图片的内容展示 样式展示 代码展示 InfoCard.tsx import ./InfoCard.cssinterface InfoCardProps {ti…

C++-function包装器的应用

目录 1.什么是 std::function? 2. function 包装器的原型 3.使用 function 封装不同类型的函数对象 代码分析 4.实际应用: 5. bind 绑定:修改参数传递顺序和数量 2.1 使用 bind 绑定修改参数传递顺序 2.2. bind 绑定:指定特定…

vue面试题+答案扩展(70道)

在当前前端领域,熟练使用Vue.js是非常重要的技能要求之一。针对Vue.js进行充分的面试准备,可以帮助求职者在众多应聘者中脱颖而出。本文准备了100道vue的面试题,点击链接后可以查看详细的原理,优势劣势、使用场景、代码示例等。 注…

Jenkins 忘记登录密码

Jenkins 是一个流行的持续集成和持续部署工具,广泛应用于软件开发和测试领域。但经常性会遇到忘记登录密码的情况,下面将介绍解决 Jenkins 忘记登录密码的方法。 通过配置文件修改密码 找到 Jenkins 的安装目录,对于 war 安装版,…

455 分发饼干

这是一道入门级的贪心算法题,这道题的关键有两点: 1.首先需要对孩子的胃口大小,饼干大小进行排序 2.小尺寸的饼干用来满足小胃口的孩子,大尺寸的饼干用来满足大胃口的孩子,用这样的策略分发饼干。 如果用大尺寸的饼干去…

【计算机视觉算法与应用】模板匹配、图像配准

目录 1. 基于灰度值的模板匹配 2. 基于相关性的模板匹配 3. 基于形状的模板匹配 4. 基于组件的模板识别 5. 基于形变的模板匹配 6. 基于描述符的模板匹配 7. 基于点的模板匹配 性能比较 模板匹配的算法实现需要结合具体需求和应用场景来选择方法。以下是基于 OpenCV 的…

helm部署golang服务

Helm 是 Kubernetes 的一个包管理工具,类似于 Linux 中的 apt 或 yum。它使得在 Kubernetes 上部署和管理应用程序变得更加简单和高效。 安装 https://get.helm.sh/helm-v3.16.3-linux-amd64.tar.gz具体版本号可以在github上看到最新的版本号,然后替换上面链接来获取。gith…

python打包深度学习虚拟环境

今天师兄让我把环境打包发给他,我才知道可以直接打包深度学习虚拟环境,这样另一个人就不用辛辛苦苦的去装环境了,我们都知道有些论文他需要的环境很难装上。比如装Apex,装 DCN,mmcv-full 我现在把3090机子上的ppft虚拟…