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

   ✅作者简介:

                        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
                            

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

  • 55
    点赞
  • 130
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶秋学长

走过路过不要错过

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值