一、docker的安装
步骤 1 通过 uname –r 命令查看当前系统的内核版本。
uname -r
步骤 2 使用 root 权限登录 CentOS。输入以下指令,将 yum 包(YUM,全称 Yellow dog Updater, Modifier,是一个自由、开源的命令行软件包管理工具,运行在基于 RPM 包 管理的的 Linux 操作系统)更新到最新(后续过程中若需输入,输入 y 即可)。
sudo yum update
步骤 3 使用以下指令安装需要的软件包,yum-util 提供 yum-config-manager 功能。
sudo yum install –y yum-utils device-mapper-persistent-data lvm2
步骤 4 使用以下指令设置 yum 源。
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
步骤 5 使用以下指令查看所有仓库中所有 docker 版本,并选择特定版本安装。
yum list docker-ce --showduplicates | sort -r
步骤 6 使用以下指令安装 docker,过程中如需输入,请输入 y。(安装时长与云服务器绑定 带宽有关,如使用较小带宽,请耐心等待 5-10min。)
sudo yum install docker-ce
注意:如过程出现报错,可手动输入指令,注意指令格式及指令间空格,用户也可自行查找其 它安装 docker 的方式。
步骤 7 分别输入以下指令启动并加入开机启动。
sudo systemctl start docker
sudo systemctl enable docker
步骤 8 输入以下指令验证安装是否成功(有 client 和 service 两部分表示 docker 安装启动都 成功。)
docker version
二、容器的基础操作
一、运行一个容器
步骤 1 输入以下指令创建一个名为 test 的 httpd 容器。
docker create --name test httpd
步骤 2 输入以下指令查看该容器信息。
docker ps -a
步骤 3 输入以下指令启动容器 test。
docker start test
步骤 4 输入以下指令再次查看容器的 huawei 信息,状态为 UP。
docker container ls
步骤 5 输入以下指令停止容器 huawei,并查看到该容器状态为 Exited。
docker stop test
docker ps –a
步骤 6 删除容器 test,并查看容器信息,发现已删除。
docker rm test
docker ps –a
二、docker exec 进入容器
步骤 1 在后台运行一个名为“httpd1”的 httpd 容器,并将其服务端口 80 映射到宿主机 8080 端口。
docker run --name httpd1 -d -p 8080:80 httpd
步骤 2 输入以下指令访问容器 httpd1。
curl 127.0.0.1:8080
步骤 3 输入以下指令进入容器 httpd1。
docker exec -it httpd1 bash
步骤 4 分别输入以下指令修改 httpd1 容器中静态文件内容,修改完成后输入“exit”退出。
cd htdocs
ls
echo "update to httpd" > index.html
exit
步骤 5 输入以下指令再次访问容器 httpd1。容器依旧可正常访问,说明“exit”退出并不会 导致容器进程结束。
curl 127.0.0.1:8080
三、Dockerfile 构建容器镜像
步骤 1 使用以下指令在/root 目录下创建一个 dockerfile 文件夹。
mkdir dockerfile
步骤 2 进入 dockerfile,并创建一个名为 dockerfile1 的 dockerfile 文件。
cd dockerfile
touch dockerfile1
步骤 3 使用 vi 编辑器编辑 dockerfile1。
vi dockerfile1
输入如下内容:
FROM httpd
MAINTAINER Gale@Huawei.com
RUN echo “dockerfile test”> /usr/local/apache2/htdocs/index.html
输入 ecs,输入:wq 保存并退出
步骤 4 构建镜像,镜像命名为 httpd:v11
docker build -t httpd:v11 -f dockerfile1 /root/dockerfile
步骤 5 查看创建的镜像。
docker images
步骤 6 以镜像 httpd:v11 运行一个容器。
docker run -d -p 8081:80 httpd:v11
步骤 7 验证容器内容。
curl 127.0.0.1:8081
四、搭建私有 Registry
步骤 1 在/root 目录下创建一个 myregistry 文件夹,作为私有 Registry 的存储空间。
mkdir myregistry
步骤 2 运行一个 registry 容器,并将主机 1000 端口映射到到其服务端口 5000。同时挂载步 骤 1 中创建的文件夹作为 image 存储空间。
docker run -d -p 1000:5000 -v /root/myregistry:/var/lib/registry registry
步骤 3 将 httpd:v11 更改成 Registry 要求的格式,并查看。
docker tag httpd:v11 127.0.0.1:1000/michael/httpd:v11
docker images
步骤 4 将镜像 michael/httpd:v11 上传至 Registry。
docker push 127.0.0.1:1000/michael/httpd:v11
步骤 5 查看 Registry 中的镜像。
curl 127.0.0.1:1000/v2/_catalog
步骤 6 删除宿主机上的 httpd:v11 镜像。
docker rmi httpd:v11