介绍
容器(
Container
)是一种轻量级的虚拟化技术,所谓的轻量级虚拟化,就是使用了一种操作系
统虚拟化技术,这种技术允许一个操作系统上用户空间被分割成几个独立的单元在内核中运行,
彼此互不干扰,这样一个独立的空间,就被称之为一个容器。
本实验介绍了弹性云服务器(
ECS
)结合
Docker
容器的综合实验,包括弹性云服务器(
ECS
)
的创建登录,
Docker
容器的创建、查看、运行,
Docker
镜像的构建,私有
registry
的搭建等。
服务器配置4G2核
1,登录弹性云服务器
![](https://i-blog.csdnimg.cn/blog_migrate/0533579a89c3d3cb819bac63aac709be.png)
2,安装 docker 环境
使用uname -r 查看当前系统的内核版本
uname -r
![](https://i-blog.csdnimg.cn/blog_migrate/336baf936e03e3e0c863a111e66a545f.png)
3,更新yum包
此处需要root权限,所以前面是sudo
sudo yum update
4,安装需要的软件包
sudo yum install –y yum-utils device-mapper-persistent-data lvm2
5,设置 yum 源
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
6,查看所有仓库中所有 docker 版本,并且选择docker
yum list docker-ce --showduplicates | sort -r
7,安装docker
sudo yum install docker-ce
8,启动docker并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
9,验证安装是否成功
docker version
10,运行第一个容器
docker create --name huawei httpd
11,查看该容器信息
docker ps -a
12,启动容器 huawei。
docker start huawei
13,查看容器的 huawei 信息,状态为 UP
docker container ls
14,停止,删除容器
docker stop huawei
docker rm huawei
docker ps –a
二,创建容器
在后台运行一个名为“
httpd1
”的
httpd
容器,并将其服务端口
80
映射到宿主机
8080
端
口
docker run --name httpd1 -d -p 8080:80 httpd
1,访问容器 httpd1
curl 127.0.0.1:8080
2,进入容器 httpd1
docker exec -it httpd1 bash
3,令修改 httpd1 容器中静态文件内容,修改完成后输入“exit”退出
cd htdocs
ls
echo "update to httpd" > index.html
exit
![](https://i-blog.csdnimg.cn/blog_migrate/b5c77ecce9f319c070501c45017b7970.png)
4,再次访问容器 httpd1
curl 127.0.0.1:8080
![](https://i-blog.csdnimg.cn/blog_migrate/141853823681fa9e5de41f65e24a90d6.png)
5,Dockerfile 构建容器镜像
在
/root
目录下创建一个
dockerfile
文件夹。
进入 dockerfile,并创建一个名为 dockerfile1 的 dockerfile 文件。
编辑 dockerfile1
FROM httpd
MAINTAINER Gale@Huawei.com
RUN echo “dockerfile test”> /usr/local/apache2/htdocs/index.html
构建镜像,镜像命名为
httpd:v11
docker build -t httpd:v11 -f dockerfile1 /root/dockerfile
查看创建的镜像。
docker images
6,以镜像 httpd:v11 运行一个容器。
docker run -d -p 8081:80 httpd:v11
验证容器内容
curl 127.0.0.1:8081
三,搭建私有 Registry
在/root 目录下创建一个 myregistry 文件夹,作为私有 Registry 的存储空间。
mkdir myregistry
![](https://i-blog.csdnimg.cn/blog_migrate/4a993c8ab236dda628c59122bbab1c19.png)
运行一个 registry 容器,并将主机 1000 端口映射到到其服务端口 5000。同时挂载步骤 1 中创建的文件夹作为 image 存储空间。
docker run -d -p 1000:5000 -v /root/myregistry:/var/lib/registry registry
将 httpd:v11 更改成 Registry 要求的格式,并查看。
docker tag httpd:v11 127.0.0.1:1000/michael/httpd:v11
docker images
将镜像 michael/httpd:v11 上传至 Registry。
docker push 127.0.0.1:1000/michael/httpd:v11
查看 Registry 中的镜像。
curl 127.0.0.1:1000/v2/_catalog
删除宿主机上的 httpd:v11 镜像。
docker rmi httpd:v11
以上就是容器的基本操作。
如有侵权,联系删~