一、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