Docker-Learn(三)创建镜像Docker(换源)

news2024/11/15 14:08:45

根据之前的内容基础,本小点的内容主要涉及到的内容是比较重要的文本Dockerfile


1. 编辑Dockerfile

启动命令行终端(在自己的工作空间当中),创建和编辑Dockerfile。

vim Dockerfile

然后写入以下内容

# 使用一个基础镜像  
FROM ubuntu:latest

# 换源
RUN cp /etc/apt/sources.list /etc/apt/sources.list.bk
COPY sources.list /etc/apt/sources.list

#更新源
RUN apt-get update

# 安装所需的软件包(这里以安装curl和vim为例)  
RUN apt-get update && apt-get install -y curl vim

# 容器启动时执行的命令  
CMD ["/bin/bash"]

  • 首先同样的是使用了ubuntu作为起点获取最新的镜像
FROM ubuntu:latest
  • 将原始的sources.list文件备份,以避免后续出现问题
RUN cp /etc/apt/sources.list /etc/apt/sources.list.bk
  • 将本地的sources.list文件复制到容器中的/etc/apt/目录,用于替换默认的软件源列表
COPY sources.list /etc/apt/sources.list  
  • 更新软件源列表,确保使用新的软件源
RUN apt-get update  
  • 更新软件源列表并安装所需的软件包
RUN apt-get update && apt-get install -y curl vim  
  • 指定容器启动时执行的命令
CMD ["/bin/bash"]

2.编辑sources.list文件

在这里使用阿里云源作为文件替换,也就是对应Dockerfile文件当中的sources.list文件,在当前工作目录下新建就好了。

vim sources.list

然后粘贴以下内容

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

:wq保存退出
此时我的工作空间的目录如下图所示:
在这里插入图片描述

3.创建镜像并且测试

  • 创建镜像,在命令行终端里面输入指令:
docker build -t test:docker_v1 .

等待镜像生成完成
在这里插入图片描述

  • 检查镜像是否生成成功
docker images

如果生成好话如下图所示
在这里插入图片描述

  • 进入到镜像进行测试
docker run -it test:docker_v1
apt-get update
curl -v www.baidu.com
vim /etc/apt/sources.list

没问题的话如下几张图所示:

镜像已经更换成阿里云
在这里插入图片描述
可以使用 curl 和vim等工具
在这里插入图片描述
在这里插入图片描述

可以查看系统信息
在这里插入图片描述


🌸🌸🌸完结撒花🌸🌸🌸


🌈🌈Redamancy🌈🌈


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

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

相关文章

Mysql为什么使用B+Tree作为索引结构

B树和B树 一般来说,数据库的存储引擎都是采用B树或者B树来实现索引的存储。首先来看B树,如图所示: B树是一种多路平衡树,用这种存储结构来存储大量数据,它的整个高度会相比二叉树来说,会矮很多。 而对于数…

苹果推出新型开源AI图像编辑模型“MGIE”;可汗学院辅助学习的GPT,Prompt 质量非常高

🦉 AI新闻 🚀 苹果推出新型开源AI图像编辑模型“MGIE” 摘要:苹果公司最近发布了一个名为“MGIE”的开源人工智能模型,旨在通过自然语言指令对图片进行编辑。MGIE,全称MLLM-Guided Image Editing,依赖于多…

文献速递:肿瘤分割---- 弱监督教师-学生网络用于非增强图像的肝脏肿瘤分割

文献速递:肿瘤分割---- 弱监督教师-学生网络用于非增强图像的肝脏肿瘤分割 01 文献速递介绍 准确的肝脏肿瘤分割对放射科医师来说是必不可少的,以诊断和治疗肝脏肿瘤并提高患者的生存率(Radtke 等人,2007年)。特别是…

代码随想录算法训练营29期|day44 任务以及具体任务

动态规划:完全背包理论基础 本题力扣上没有原题,大家可以去卡码网第52题 (opens new window)去练习,题意是一样的。 #算法公开课 《代码随想录》算法视频公开课 (opens new window):带你学透完全背包问题! (opens …

HTML 标签

HTML:超文本标记语言 HTML骨架结构: html标签:网页的整体 head标签:网页的头部 body标签:网页的身体 HTML的注释 VS code中:ctrl/ 浏览器不会执行注释 HTML标签的构成: 双标签&#xff1a…

Kubernetes基础(十四)-Cluster Autoscaler

Kubernetes 给出的解决方案就是:自动伸缩(auto-scaling),通过自动伸缩组件之间的配合,可以 7*24 小时的监控着k8s集群,动态变化负载,以适应用户需求。 1 自动伸缩组件 1.1 自动伸缩类型 1.1.…

VsCode中常用的正则表达式操作

在vscode中可以使用正则表达式来进行搜索内容,极大的方便了我们对大量数据中需要查看的信息进行筛选,使用正则搜索时点击 .* 此文章会持续补充常用的正则操作 1.光标选中搜索到的内容 将搜索的内容进行全选,举例:在如下文件中我需…

基于Linux的HTTP代理服务器搭建与配置实战

在数字化世界中,HTTP代理服务器扮演着至关重要的角色,它们能够帮助我们管理网络请求、提高访问速度,甚至在某些情况下还能保护我们的隐私。而Linux系统,凭借其强大的功能和灵活性,成为了搭建HTTP代理服务器的理想选择。…

Android Camera2 API 后台服务

最近在搞CameraAPP需要将Camera2弄成一个后台服务,发现跟预览的Activity没多大变动只是加了Service,和一些简单的修改。之前的公司也用到Camera2,发现用到的时候还是蛮多的所以记录一下,代码在文章末尾 camera2的结构如下&#x…

常用的前端模块化标准总结

1、模块化标准出现以前使用的模块化方案: 1)文件划分: 将不同的模块定义在不同的文件中,然后使用时通过script标签引入这些文件 缺点: 模块变量相当于是定义在全局的,容易造成变量名冲突(即不…

代码随想录算法训练营第25天 | 216.组合总和III ,17.电话号码的字母组合

回溯章节理论基础: https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 216.组合总和III 题目链接:https://leetcode.cn/problems/combination-sum-iii/ 思路: 本题就是在[1,2,3,4,5,6,7,…

Git简单了解

文章目录 1、Git概述2、Git下载与安装3、Git代码托管服务3.1、使用码云托管服务 1、Git概述 什么是Git Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使…

免费文字转语音工具,一款优秀且永久免费的文字转语音工具,同时拥有多种类型男声女声,支持多国语言转换,支持语速调节和下载!

一、软件简介 该工具只有一个功能,就是将输入框内的纯文本内容转换为指定语言的音频,并且可以自由调节语速及音色(男声/女声),其内置了多种语音包,包含男声、女声、普通话、粤语以及方言,并且支…

Ubuntu安装SVN服务并结合内网穿透实现公网访问本地存储文件

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默&…

Visual Studio 2022中创建的C++项目无法使用万能头<bits/stdc++.h>解决方案

目录 发现问题 解决办法 第一步 第二步 第三步 第四步 最后一步 问题解决 发现问题 如果大家也遇到下面这种问题,可能是没有include文件夹中没有bits/stdc.h 解决办法 第一步 打开一个C项目,鼠标移动至头文件上右击,选择转到文档或…

c#: 表达式树的简化

环境&#xff1a; .net 6 一、问题&#xff1f; 有下面的表达式&#xff1a; var nums new List<int> { 1, 2, 3 }; Expression<Func<int, bool>> exp i > i > nums.Max();我们知道&#xff0c;它其实就是&#xff1a;exp i > i > 3; 那么…

06-OpenFeign-使用HtppClient连接池

默认下OpenFeign使用URLConnection 请求连接&#xff0c;每次都需要创建、销毁连接 1、添加ApacheHttpClient依赖 <!-- 使用Apache HttpClient替换Feign原生httpclient--><dependency><groupId>org.apache.httpcomponents</groupId><artifact…

编曲学习:旋律创作基础概念 和弦进行作曲 和弦外音使用 作曲技巧

旋律创作基础概念 和弦进行作曲 和弦外音使用 作曲技巧https://app8epdhy0u9502.pc.xiaoe-tech.com/live_pc/l_65be1ba7e4b064a83b92a3d7?course_id=course_2XLKtQnQx9GrQHac7OPmHD9tqbv文档https://app8epdhy0u9502.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/camp_pro/cour…

【GAMES101】Lecture 19 相机

目录 相机 视场 Field of View (FOV) 曝光&#xff08;Exposure&#xff09; 感光度&#xff08;ISO&#xff09; 光圈 快门 相机 成像可以通过我们之前学过的光栅化成像和光线追踪成像来渲染合成&#xff0c;也可以用相机拍摄成像 今天就来学习一下相机是如何成像的…

Golang数据库编程详解 | 深入浅出Go语言原生数据库编程

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站https://www.captainbed.cn/kitie。 Golang学习专栏&#xff1a;https://blog.csdn.net/qq_35716689/category_12575301.html 前言 对数据库…