首页 > 系统相关 >Docker受限?试试Podman,手动搭建Ubuntu容器镜像

Docker受限?试试Podman,手动搭建Ubuntu容器镜像

时间:2024-08-21 23:22:50浏览次数:13  
标签:Ubuntu Podman 构建 ubuntu 镜像 Docker 20.04

Docker受限?试试Podman,手动搭建Ubuntu容器镜像

最近,我打算用Docker来搭建一个开发环境,但遗憾的是,我发现Docker Hub无法使用,甚至国内的镜像源也无法访问。这让我有些头疼,但好在我在寻找解决方案的过程中,发现了一个Docker的替代方案:Podman。

Podman的使用方法与Docker几乎一模一样,这让我倍感欣喜。然而,尽管找到了替代工具,我依然面临着镜像源的问题。无奈之下,我决定直接在Ubuntu Base的基础上构建一个基础容器镜像,然后再在这个基础镜像上构建实际需要的功能镜像。

下面,我将详细记录我的这一过程,希望能为遇到类似问题的朋友们提供一些帮助。

构建Ubuntu镜像的步骤

  1. 准备环境
    我首先新建了一个文件夹,用于保存容器的配置和一些必要的文件。这个文件夹将作为我构建镜像的工作目录。

  2. 下载Ubuntu Base Rootfs包
    接着,我访问了https://cdimage.ubuntu.com/ubuntu-base/releases/,找到了合适的Ubuntu Base的rootfs包,并将其下载到之前新建的文件夹中。我选择的是ubuntu-base-20.04.5-base-amd64.tar.gz

  3. 创建Containerfile
    然后,我在文件夹中新建了一个名为Containerfile的文件,并写入了以下内容:

    FROM scratch
    
    ADD ubuntu-base-20.04.5-base-amd64.tar.gz /
    

    这个文件指定了构建镜像的基础和需要添加的文件。

  4. 构建容器镜像
    接下来,我在命令行中进入文件夹,并执行了以下命令来构建镜像:

    E:\containers\ubuntu\20.04>podman build . -t ubuntu:20.04
    

    这条命令会根据Containerfile中的指令构建一个新的容器镜像,并给它打上ubuntu:20.04的标签。构建过程非常顺利,很快就完成了。

  5. 查看构建结果
    构建完成后,我执行了以下命令来查看构建的镜像:

    E:\containers\ubuntu\20.04>podman image list -a
    

    输出结果显示,我已经成功构建了一个名为localhost/ubuntu,标签为20.04的容器镜像,大小为75.1MB。

  6. 测试镜像
    最后,我执行了以下命令来测试这个镜像:

    E:\containers\ubuntu\20.04>podman run --rm -it localhost/ubuntu:20.04 /bin/bash
    

    镜像成功运行,我进入了一个Ubuntu的bash环境,可以看到Ubuntu的文件系统结构。

通过这次实践,我不仅解决了Docker无法使用的问题,还学会了如何使用Podman来构建和管理容器镜像。尽管过程中遇到了一些挑战,但最终的成果让我感到非常满意。未来,我计划在这个基础镜像上构建更多具有具体功能的容器镜像,以满足我的开发需求。

标签:Ubuntu,Podman,构建,ubuntu,镜像,Docker,20.04
From: https://blog.csdn.net/arthurchan2021/article/details/141234593

相关文章

  • Docker 基本概念
    Container(容器)容器的特点:Self-contained.Eachcontainerhaseverythingitneedstofunctionwithnorelianceonanypre-installeddependenciesonthehostmachine.Isolated.Sincecontainersareruninisolation,theyhaveminimalinfluenceonthehostand......
  • docker安装gitlab
    1、获取gitlab镜像#gitlab-ce为稳定版本,不填写版本默认pull最新latest版本dockerpullgitlab/gitlab-ce2、运行gitlabdockerrun-d\-p443:443\-p80:80\-p222:22\--namegitlab\--restartalways\-v/data/gitlab/config:/etc/gitlab\-v/data/gitl......
  • Docker快速入门 01 安装、部署环境
    1.简介和安装1.1简介Docker是一个应用打包、分发、部署的工具。打包:需要的环境变成一个“安装包”。分发:将“安装包”上传到云端,供他人获取。部署:将“安装包”下载下来后直接快速搭建运行环境。通俗讲就是轻量级的虚拟机,只虚拟需要的运行环境。1.2安装这里以Docker......
  • Docker快速入门 02 构建镜像
    本文以PythonWeb(Flask)小项目构建Docker镜像1.准备项目确保PythonWeb项目已准备好项目目录结构my-python-app/│├──app.py├──requirements.txt└──Dockerfileapp.py:Flask应用的主文件。fromflaskimportFlaskapp=Flask(__name__)@app.ro......
  • Ubuntu22.04怎么开启远程桌面
    环境查看#lsb_release-aNoLSBmodulesareavailable.DistributorID: UbuntuDescription: Ubuntu22.04.4LTSRelease: 22.04Codename: jammy#uname-aLinuxMS-7E076.8.0-40-generic#40~22.04.3-UbuntuSMPPREEMPT_DYNAMICTueJul3017:30:19UTC2x86_64x......
  • Docker的安装与镜像配置
           小编目前大一,刚开始着手学习SSM,小编会把每个框架都整理成知识点发布出来。如果你也同时在学习SSM的话,不妨看看我做的这个笔记。我认为同为初学者,我把我对知识点的理解以这种代码加观点的方式分享出来不仅加深了我的理解,或许在某个时候对你也有所帮助,同时也欢迎......
  • docker中间件搭建
    1.docker搭建nacos集群2.2.3run-d-p8848:8848-p9848:9848-p9849:9849--restart=always--network=host-eNACOS_AUTH_ENABLE=true-eNACOS_AUTH_TOKEN=T20230703zxcvbnmasdfghjklqwertyuioT20230703zxcvbnmasdfghjklqwertyuio-eNACOS_AUTH_IDENTITY_KEY=admin20......
  • linux安装samba(ubuntu)
    samba简介samba的功能都是通过一个CIFS(CommonInternetFileSystem)协议套件来管理的,这个名字是由微软引入的。Samba是一个开源的CIFS实现,官网地址为 https://www.samba.org/samba/。SMB(ServerMessageBlockProtocol)协议是一种客户端/服务器通信协议,它主要包括smbd和nm......
  • Ubuntu20.04环境配置(自用)
    一、Windows11安装WSL21.1启用Windows子系统及虚拟化1.打开设置—— 控制面板2.程序—— 程序和功能中的【启用或关闭Windows功能】3.勾选【适用于Linux的Windows子系统】和【虚拟机平台】4.重启电脑1.2下载Ubuntu20.041.打开MicrosoftStore,商店内搜索Ubun......
  • Ubuntu使用代理服务器拉取镜像
    服务器:Ubuntu22.040.安装dockerbash<(curl-sSLhttps://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh)配置加速地址参考Docker-hub:......