Docker

Uncategorized
2.3k words

前言

【2024年12月22日】
在选择云计算技术及应用这门课程后,虽然整体的课程依然是枯燥无聊的理论讲解,但对我的知识扩充还是有一定用处的。
大规模的云计算实现往往都是企业级的,与私人的云存储还是有很大的区别。分布式存储与集群架构,在云计算的环境中更易体现。
不过这门课程的三门实验报告指导书倒是非常的详细,其中docker部分也可以作为我本篇博客的主要信息来源之一。(再也不用一篇一篇去找文章写大纲了hhhhh)

  1. Docker的安装和配置
    • 移除旧版本的Docker(如果存在)。
    • 安装Docker,并启动Docker服务。
    • 测试Docker安装是否成功。
      (注:本人一般会使用宝塔面板等工具来管理Docker,其配置过程简单,对docker镜像的管理也比较方便。)
1
2
3
4
yum -y install docker # 安装docker
systemctl start docker # 启动docker服务后台
docker pull swr.cn-north-4.myhuaweicloud.com/library/hello-world:latest # 拉取hello-world镜像
docker images # 查看已下载的镜像
  1. 镜像的基本操作
    • 获取、查询及删除镜像。
    • 使用官方镜像加速器来提高下载速度。

A.从Docker镜像仓库获取镜像的命令是docker pull,其命令格式为:

1
docker pull [选项]  [Docker Registry 地址[:端口号]/]仓库名[:标签]

B.由于直接从国外下载镜像有网络限制,先按照文档配置华为SWR镜像加速器:https://console.huaweicloud.com/swr/?region=cn-north-4#/swr/mirror

1
nano /etc/docker/daemon.json # 编辑配置文件

编辑配置文件

1
2
3
{
"registry-mirrors": [ "https://7046a839d8b94ca190169bc6f8b55644.mirror.swr.myhuaweicloud.com" ]
}

C.注意,需要重启docker服务使配置生效。

1
systemctl restart docker

注意:Docker已经配置国内镜像源但没有生效,还是使用默认的镜像源
无论你是否有代理节点,想要docker配置的镜像源生效,一定要额外添加上一个Proxy!!!!(可以是你的宿主机),你的代理节点可以不用接外网,但是一定要配置,只有配置了代理节点后,docker 才会优先走你自己配置的镜像源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"registry-mirrors": [
"https://ab82f541eb254f90b7faf14b8ad77f69.mirror.swr.myhuaweicloud.com"
],
"dns": ["114.114.114.114", "8.8.8.8"],
"proxies": {
"default": {
"httpProxy": "http://<代理IP>:<代理端口>",
"httpsProxy": "http://<代理IP>:<代理端口>"
}
},
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "200m"
}
}
  1. 容器的基本操作
    • 创建、启动、停止、重启、暂停、恢复、杀掉以及删除容器。
    • 进入容器进行交互式操作或执行命令。
1
2
3
4
5
6
7
8
9
docker create httpd # 创建一个httpd容器
docker ps -a # 查看所有容器
docker start cb98db916abf # 启动容器
docker stop cb98db916abf # 停止容器
docker restart cb98db916abf # 重启容器
docker pause cb98db916abf # 暂停容器
docker unpause cb98db916abf # 恢复容器
docker kill cb98db916abf # 杀掉容器
docker rm cb98db916abf # 删除容器
  1. 私有镜像仓库搭建
    • 安装运行docker-registry。
    • 标记本地镜像并上传到私有仓库。
    • 从私有仓库中拉取镜像进行验证。
1
2
3
4
5
6
docker run -d -p 5000:5000 --restart=always --name registry registry #获取官方registry 镜像并运行容器。
docker images #先在本机查看已有的镜像
docker tag [本地镜像名] [私有仓库地址[:端口号]/]仓库名[:标签] #标记本地镜像
docker push [私有仓库地址[:端口号]/]仓库名[:标签] #上传本地镜像到私有仓库
docker pull [私有仓库地址[:端口号]/]仓库名[:标签] #从私有仓库拉取镜像
curl 127.0.0.1:5000/v2/_catalog #查看私有仓库中的镜像
Comments