Docker学习(3):镜像使用

        当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。

一、列出镜像列表

        可以使用 docker images 来列出本地主机上的镜像。

        各个选项说明:

  • REPOSITORY:表示镜像的仓库源

  • TAG:镜像的标签

  • IMAGE ID:镜像ID

  • CREATED:镜像创建时间

  • SIZE:镜像大小

        同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。所以,我们如果要使用版本为15.10的ubuntu系统镜像来运行容器时,命令如下:

        参数说明:

  • -i: 交互式操作。
  • -t: 终端。
  • ubuntu:15.10: 这是指用 ubuntu 15.10 版本镜像为基础来启动容器。
  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

        如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像。

二、获取一个新的镜像

        当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它。查找可以下载的ubantu镜像:

        下载boystar/ubantu镜像:

三、删除镜像

镜像删除使用 docker rmi 仓库源 命令:

四、创建镜像

        当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

  1. 从已经创建的容器中更新镜像,并且提交这个镜像
  2. 使用 Dockerfile 指令来创建一个新的镜像

        下面演示在已有的容器中更新镜像,Dockerfile 指令的方式会在以后的文章中再说。

        更新镜像之前,我们需要使用镜像来创建一个容器。在运行的容器内使用 apt-get update 命令进行更新。在完成操作之后,输入 exit 命令来退出这个容器。此时 ID 为 bd1a5e99ed0d的容器,是按我们的需求更改的容器。我们可以通过命令 docker commit 来提交容器副本。

        各个参数说明:

  • -m: 提交的描述信息

  • -a: 指定镜像作者

  • e218edb10161:容器 ID

  • runoob/ubuntu:v2: 指定要创建的目标镜像名

        我们可以使用 docker images 命令来查看我们的新镜像 runoob/ubuntu:v2

        使用我们的新镜像 runoob/ubuntu 来启动一个容器

五、常见的镜像实例

1、Docker 安装 MySQL

        运行mysql

        参数说明:

  • -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
  • MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。

        使用docker ps命令查看是否安装成功:

        进入mysql客户端:

2、Docker 安装 Node.js

        拉取最新版的node.js

        运行node容器,--name 指定容器名称

        进入容器查看node版本

3、Docker 安装 Redis

        拉取最新的redis

        运行redis容器,-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。

        进入redis客户端

4、Docker 安装 Nginx

        拉取最新的nginx

        运行nginx容器

        参数说明:

  • --name nginx-test:容器名称。
  • -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
  • -d nginx: 设置容器在在后台一直运行。

        最后我们可以通过浏览器可以直接访问 8080 端口的 nginx 服务:

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

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

相关文章

【Linux学习】进程

下面是有关进程的相关介绍,希望对你有所帮助! 小海编程心语录-CSDN博客 目录 1. 进程的概念 1.1 进程与程序 1.2 进程号 2. 进程的状态 2.1 fork创建子进程 2.2 父子进程间的文件共享 3. 进程的诞生与终止 3.1 进程的诞生 3.2 进程的终止 1. 进…

使用docker commit创建新镜像

前言 我们知道,从docker-hub上拉取的镜像所创建的容器是最小版本的,比如ubuntu内部是没有vim编辑器的,我们需要自己手动安装,但是当我们安装后假如有人把我们的容器误删了,那么我们再次根据原始镜像创建的容器就没有了…

CCF20230501——重复局面

CCF20230501——重复局面 代码如下&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int n;cin>>n;char a[101][64];int i,j;for(i0;i<n;i){for(j0;j<64;j){cin>>a[i][j];}}int temp0,flag1;for(i0;i<n;i){flag1;for(j0;j<…

MySQL---通用语法及分类

目录 一、SQL通用语法 二、 SQL分类 1.DDL 1.1 DDL数据库操作 1.2 DDL表操作---查询 1.3 DDL表操作---创建​编辑 1.4 DDL表操作---数据类型 1.5 DDL表操作---修改 1.6 DDL表操作---删除 1.7 DDL总结 2. 图形化界面工具DataGrip 2.1 创建 2.2 使用 3. DML 3.1 DML介绍 3.2 DM…

521源码-免费源码下载-最新个人主页、个人引导页、网站导航页、引流页源码

这款源码采用HTML、CSS和JavaScript的组合&#xff0c;为您打造了一个既美观又实用的个人主页。通过简单的记事本工具打开源码文件&#xff0c;您可以轻松进行内容、文字以及样式上的修改&#xff0c;以满足您的个性化需求。 源码文件包含了完整的HTML结构、CSS样式表和JavaSc…

【深度学习实战—7】:基于Pytorch的多标签图像分类-Fashion-Product-Images

✨博客主页&#xff1a;王乐予&#x1f388; ✨年轻人要&#xff1a;Living for the moment&#xff08;活在当下&#xff09;&#xff01;&#x1f4aa; &#x1f3c6;推荐专栏&#xff1a;【图像处理】【千锤百炼Python】【深度学习】【排序算法】 目录 &#x1f63a;一、数据…

[Linux]Crond任务调度以及at任务调度

一.crond任务定时调度 crond是反复检测执行的&#xff0c;一个任务结束后&#xff0c;在所规定的时间之后会再次执行 crontab 指令可以给系统分配定时任务 crontab -e 进入编辑页面&#xff0c;设定任务 crontab -l 查看已有定时任务 crontab -r 删除所有任务 编辑时&#xff…

vue3全局封装table分页

1.封装element-plus table分页 <template><el-pagination:page-sizes"pageSizes"v-model:current-page"currentPage"v-model:page-size"pageSize":total"totals"size-change"handleSizeChange"current-change&quo…

MySQL - 信贷业务报表

表结构与字段解释 注册表 u_user id&#xff1a;自增主键&#xff0c;唯一标识用户。username&#xff1a;用户名。mobile&#xff1a;手机号。password&#xff1a;用户密码。nickname&#xff1a;用户昵称。role_type&#xff1a;角色类型&#xff08;-1&#xff1a;普通用…

FreeRTOS 源码概述

FreeRTOS 目录结构 使用 STM32CubeMX 创建的 FreeRTOS 工程中&#xff0c;FreeRTOS 相关的源码如下: 主要涉及2个目录&#xff1a; Core Inc 目录下的 FreeRTOSConfig.h 是配置文件 Src 目录下的 freertos.c 是 STM32CubeMX 创建的默认任务 Middlewares\Third_Party…

mac M3芯片 goland 2022.1 断点调试失败(frames are not available)问题,亲测有效

遇到如上问题&#xff0c;解法 步骤1&#xff1a;下载dlv文件 执行 go install github.com/go-delve/delve/cmd/dlvlatest 然后在 $GOPATH/bin里发现多了一个dlv文件 (找不到gopath? 执行 go env 可以看到) 步骤2&#xff1a;配置dlv 将这个dlv文件移到 /Applications/G…

go recover

recover 可以中止 panic 造成的程序崩溃。它是一个只能在 defer 中发挥作用的函数&#xff0c;在其他作用域中调用不会发挥作用。 // A _panic holds information about an active panic. // // A _panic value must only ever live on the stack. // // The argp and link fi…

【前端学习——react坑】useState使用

问题 使用useState 时&#xff0c;例如 const [selectedId, setSelectedId] useState([false,true,false]);这样直接利用&#xff0c;无法引发使用selectedId状态的组件的变化&#xff0c;但是selectedId是修改了的 let tempselectedId;temp[toggledId]selectedId[toggledId…

Cloudflare Worker 部署bingai

Cloudflare Worker 部署 1. 注册 Cloudflare 账号 2. 一键部署 登录账户后, 点击下面链接 https://deploy.workers.cloudflare.com/?urlhttps://github.com/Harry-zklcdc/go-proxy-bingai 点击「Authorize Workers」, 登录 Github 账号授权 Cloudflare 点击「I have a ac…

Flutter 中的 Tooltip 小部件:全面指南

Flutter 中的 Tooltip 小部件&#xff1a;全面指南 在用户界面设计中&#xff0c;提示信息是一种常见的交互元素&#xff0c;用于向用户提供额外的信息或对界面元素的说明。Flutter 的 Tooltip 小部件正是为此目的而设计&#xff0c;它在用户长按或悬停在某个元素上时显示一段…

React18+TypeScript搭建通用中后台项目实战03 自定义加载状态组件

拦截器 请求拦截器 修改 src/api/request.ts 核心代码&#xff1a; req.interceptors.request.use(// 拦截配置并更新配置config > {// 获取登录tokenconst token localStorage.getItem("token")// 使用 JWT Tokenif (token) {config.headers.Authorization …

kubernetes集群pod理论介绍

前言 在 Kubernetes 中&#xff0c;Pod 是最小的可部署单元&#xff0c;它是一个或多个容器的集合&#xff0c;这些容器共享网络和存储资源&#xff0c;并在同一主机上运行。在本文中&#xff0c;我们将进一步探讨 Kubernetes 集群中的 Pod&#xff0c;包括 Pod 的定义、调度管…

C++成员函数 - 析构函数

析构函数 析构函数 是特殊的成员函数&#xff0c;其 特征 如下&#xff1a; 1. 析构函数名是在类名前加上字符 ~ 。 2. 无参数无返回值类型。 3. 一个类只能有一个析构函数。若未显式定义&#xff0c;系统会自动生成默认的析构函数。注意&#xff1a;析构函数不能重 载 …

组成aim的方法数2(无限多张)

题目描述&#xff1a;arr是面值数组&#xff0c;其中的值都是正数且没有重复&#xff0c;再给定一个正数aim&#xff0c;每个值都认为是一种面值&#xff0c;且认为张数是无线的&#xff0c;返回组成aim的方法数。例如&#xff0c;arr[1,2]&#xff0c;aim4&#xff0c;方法有&…