✅作者简介:
CSDN内容合伙人,全栈领域新星创作者,阿里云专家博主,华为云云 享专家博主,掘金后端评审团成员
💕前言:
最近云原生领域热火朝天,那么云原生是什么?何为云原生?云原生用来干什么的?今天学长通过华为的沙箱实验操作带领大家走进“云”时代~~
目录
2.1 运行一个httpd容器
键入如下命令,运行httpd容器:
docker run -d -p 80:80 httpd
运行结束后,显示未找到“httpd”镜像,下载镜像并创建“826cdd......”镜像。
2.2 查看容器信息
键入如下命令,查看容器信息:
docker container ls
上图标红框的为该容器的容器ID。
键入如下命令,查看容器镜像信息:
docker image ls
2.3 通过浏览器访问httpd容器Web服务页面。
在浏览器内输入 http:// 弹性云主机弹性公网IP地址:80。
2.4 停止容器
键入如下命令,停止httpd容器:
注意:请使用步骤2.2中的CONTAINER ID替换命令中的【容器ID】。
docker stop 容器ID
刷新2.3中打开的Web服务页面,结果如下,可见已经无法正常访问。
2.5 启动容器
键入如下命令,启动httpd容器:
注意:请使用2.2中的CONTAINER ID替换命令中的【容器ID】。
docker start 容器ID
刷新2.3中打开的Web服务页面,结果如下,可见已经恢复正常访问。
2.6 删除容器
删除容器前必须停止容器,键入如下命令,停止并删除httpd容器:
注意:请使用2.2中的容器ID替换命令中的【容器ID】。
docker stop 容器ID
docker rm 容器ID
- 容器镜像实操收起
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