• 云原生系列 三【轻松入门容器基础操作】


       ✅作者简介:

                            CSDN内容合伙人,全栈领域新星创作者,阿里云专家博主,华为云云 享专家博主,掘金后端评审团成员

    💕前言:

    最近云原生领域热火朝天,那么云原生是什么?何为云原生?云原生用来干什么的?今天学长通过华为的沙箱实验操作带领大家走进“云”时代~~

                               再次渡入繁世,人潮汹涌,眼里茫然,信仰永恒,皆为华夏

    img

    目录  

    3. 容器镜像实操收起

    3.1 Docker commit构建容器镜像

    3.2 退出当前容器,删除本节实验所涉及到的容器

    3.3 Dockerfile构建容器镜像

    3.4 删除本节实验所涉及到的容器

    3.5 搭建私有镜像仓库注册表

    3. 容器镜像实操收起

    3.1 Docker commit构建容器镜像

    (1)拉取centos7镜像

                                    docker pull centos:centos7
                                

    运行 centos容器

                                    docker run -t -d centos:centos7
                                

    (2)进入该容器并验证vim可用性:

                                    docker container ls
                                

    注意:此处通过docker exec 命令进入容器,其具体使用后续章节将会涉及。使用上一行命令查询到的centos容器ID替换【容器ID】。

                                    docker exec -it 容器ID bash
                                
                                    vim
                                

    (3)在容器内下载安装vim:

                                    yum install -y vim
                                

    注意:若出现无法下载存储库“AppStream”的元数据:无法准备内部镜像列表:镜像列表中没有 URL。请在容器内输入以下命令更换yum源,再重新安装vim。

                                    cd /etc/yum.repos.d/
                                
                                    sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
                                
                                    yum update -y
                                
                                    yum install -y vim
                                

    等待安装完毕以后,再次验证vim可用性如下图所示:

                                    vim --version
                                

    ④退出容器,将当前容器构建为新镜像。

                                    exit
                                

    注意:请使用第(2)步中查询到的centos容器ID替换命令中的【容器ID】

                                    docker commit 容器ID centos-vim
                                
                                    docker image ls
                                

    说明:通过对比centos容器镜像可以发现,centos-vim容器镜像大小发生改变。 (5)删除前一个容器,并利用centos-vim镜像运行一个新容器:

                                    docker container ls
                                

    注意:请使用上一行命令回显的容器ID替换后续命令中的【容器ID】

                                    docker stop 容器ID
                                
                                    docker rm 容器ID
                                
                                    docker run -d -t centos-vim
                                

    (6)验证新容器内vim可用性:

                                    docker container ls
                                

    注意:请使用上一行命令查询到的容器ID替换后续命令中的【容器ID】

                                    docker exec -it 容器ID bash
                                
                                    vim --help
                                

    3.2 退出当前容器,删除本节实验所涉及到的容器

    退出当前容器。

                                    exit
                                

    查询容器ID,停止并删除。

                                    docker container ls
                                
                                    docker stop 容器ID
                                
                                    docker rm 容器ID
                                

    3.3 Dockerfile构建容器镜像

    (1)创建Dockerfile文件在/root路径下创建一个Dockerfile文件

                                    touch dockerfile
                                

    (2)使用vim编辑Dockerfile文件:

                                    vim dockerfile
                                

    输入i,将以下代码写入Dockerfile文件中,键入wq保存退出:

                                    FROM centos:centos7
    MAINTAINER Iris@huawei.com
    ENV HOSTNAME webserver
    EXPOSE 80
    RUN yum install -y httpd vi && yum clean all
    VOLUME ["/var/www/html"]
    CMD ["/usr/sbin/httpd","-D","FOREGROUND"]
                                

    (3)使用docker build命令构建容器镜像:

                                    docker build -t httpd-centos -f dockerfile /root
                                

    ④查看镜像列表,并利用新镜像运行容器。

                                    docker image ls
                                
                                    docker run -d -p 80:80 httpd-centos
                                

    (5)验证该容器Web服务页面: 在个人操作终端浏览器内输入 http://EIP:80

    注意:服务器的公网IP替换网址中的【EIP】。

    3.4 删除本节实验所涉及到的容器

    查询容器ID,停止并删除。

                                    docker container ls
                                
                                    docker stop 容器ID
                                
                                    docker rm 容器ID
                                

    3.5 搭建私有镜像仓库注册表

    (1)运行私有镜像仓库注册表容器:

                                    docker run -d -p 5000:5000 registry
                                

    说明:私有镜像仓库服务监听端口为5000,此处利用-p 5000:5000将容器5000端口映射到主机5000端口。

    (2)利用docker tag命令修改镜像名称:

                                    docker tag httpd-centos localhost:5000/http:V1
                                

    ③将本地镜像上传至私有镜像仓库:

                                    docker push localhost:5000/http:V1
                                

    (4)查看私有镜像仓库registry中镜像信息。 列出所有的本地注册表仓库的镜像:

                                    curl -X GET http://localhost:5000/v2/_catalog
                                
                                    curl -X GET http://localhost:5000/v2/http/tags/list
                                

    ⑤删除本地容器镜像,并从私有镜像仓库下载:

    注意:删除镜像前需要先删除对应容器,否则会删除失败。

                                    docker rmi localhost:5000/http:V1
                                
                                    docker rmi httpd-centos
                                
                                    docker pull localhost:5000/http:V1
                                
    

    关注博主不迷路,叶秋学长带你上高速~~

  • 相关阅读:
    JavaScript 65 JavaScript 类 65.2 JavaScript 类继承
    docker in docker 在CI中应用解析
    云服务的计算服务中的弹性云服务器(ECS)、裸金属服务器(BMS)以及镜像服务(IMS)的概念和深入理解【CloudService】
    研究生选控制嵌入式还是机器视觉好?
    结构性货币政策工具详解:碳减排支持工具、支小再贷款、再贴现等
    集成swagger 简单版
    chrome插件开发(manifest_version版本V3 + Ant Design Vue)
    智能伪原创生成易语言代码
    论文笔记:Skeleton Key: Image Captioning by Skeleton-Attribute Decomposition
    JavaWeb过滤器(Filter)详解,是时候该把过滤器彻底搞懂了(万字说明)
  • 原文地址:https://blog.csdn.net/m0_63722685/article/details/127939862