【500强 Kubernetes 课程】第2章 K8s必备知识 - Docker容器基础入门
Stage 1:注册阿里云账号,搜索 "容器镜像服务",并开通镜像加速器
Stage 2:修改daemon配置文件/etc/docker/daemon.json
Stage 4:查看是否生效(不生效表示你的daemon.json文件格式有问题)
一、课程介绍 + docker 容器介绍
二、docker 优缺点
-
docker-ce:社区版 (免费)
-
docker-ee: 商业版(通常公司缺少专业运维技术人员时使用)
2.1、优点
-
快:管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒级
-
敏捷:在 bare metal(裸机)上布署像点个按钮一样简单
-
灵活:“容器化”,不添加额外的操作系统
-
轻量:在一台服务器上可以布署 100~1000 个 Containers 容器
-
便宜:开源的,免费的,低成本
2.2、缺点
-
安全漏洞:所有容器共用 linux kernel 资源,资源能否实现最大限度利用,所以在安全上也会存在漏洞
三、安装 和 配置 docker
四、修改内核参数 + 开机自动加载
-
多网卡的时候需要配置,通常云服务器单网卡不需要修改
五、配置镜像加速器(见 三、安装 和 配置 docker)
六、配置常用镜像加速器站点
6.1、配置阿里云镜像加速器-(实战)
-
需要自己开通,然后修改docker配置文件即可
Stage 1:注册阿里云账号,搜索 "容器镜像服务",并开通镜像加速器
Stage 2:修改daemon配置文件/etc/docker/daemon.json
- 执行如下命令
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://q48f1hjn.mirror.aliyuncs.com",
"https://mirror.ccs.tencentyun.com",
"http://registry.docker-cn.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"],
"insecure-registries": [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "500m"
}
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker info
Stage 3:重启docker,使用配置生效
systemctl restart docker
Stage 4:查看是否生效(不生效表示你的daemon.json文件格式有问题)
docker info
6.2、Docker Hub 镜像加速器列表(国内)
镜像加速器 | 镜像加速器地址 | 使用条件 | 其它加速 |
Docker 中国官方镜像 | https://registry.docker-cn.com | Docker Hub | |
DaoCloud 镜像站 | http://f1361db2.m.daocloud.io | 可登录 系统分配 | Docker Hub |
Azure 中国镜像 | https://dockerhub.azk8s.cn | Docker Hub、GCR、Quay | |
科大镜像站 | https://docker.mirrors.ustc.edu.cn | Docker Hub、GCR、Quay | |
阿里云 | https://<your code>.mirror.aliyuncs.com | 需登录 系统分配 | Docker Hub |
七牛云 | https://reg-mirror.qiniu.com | Docker Hub、GCR、Quay | |
网易云 | https://hub-mirror.c.163.com | Docker Hub | |
腾讯云 | https ://mirror.ccs.tencentyun.com | Docker Hub |
七、docker 基本操作
7.1、镜像相关操作
A. 从 dockerhub 查找镜像
- docker search opencv
解释说明:
-
NAME: 镜像仓库源的名称
-
DESCRIPTION: 镜像的描述
-
OFFICIAL: 是否 docker 官方发布 , [ok] 表示官方,非官方有安全隐患
-
STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思
-
AUTOMATED: 自动构建
B. 下载镜像
- docker pull victorhcm/opencv
C. 查看本地镜像
- docker images
D. 把镜像做成离线压缩包
- docker save -o /mnt/docker/opencv.tar victorhcm/opencv
E. 解压离线镜像包
-
docker load -i /mnt/docker/opencv.tar
F. 删除镜像
-
docker rmi -f victorhcm/opencv
-
删除单个:docker rmi -f [镜像ID]
-
删除多个:docker rmi -f [镜像ID1] [镜像ID2]
-
删除全部:docker rmi -f $(docker images -qa)
7.2、容器相关操作
A. 启动并进入容器 (以交互式方式)
-
docker run --name=hello -it centos /bin/bash
输入 exit,退出容器,退出之后容器也会停止,不会再前台运行
说明:docker run 运行并创建容器
-
--name: 容器的名字
-
-i : 交互式
-
-t : 分配伪终端
-
centos: 启动 docker 需要的镜像
-
/bin/bash: 说明你的 shell 类型为 bash,
bash shell 是最常用的一种 shell, 是大多数 Linux 发行版默认的 shell
此外还有 C shell 等其它 shell
B. 启动容器 (以守护进程方式)
-
docker run --name=hello1 -td centos
说明:docker run 运行并创建容器
-
-t: 分配伪终端
-
-d: 在后台运行 docker
[root@xianchaomaster1 ~]# docker exec -it hello1 /bin/bash 进入容器
C. 查看正在运行的容器
-
docker ps
-
docker ps -a 查看所有容器,包括运行和退出的容器
-
docker ps|grep h 查看容器详情中包含h的容器
D. 停止容器
-
docker stop hello1
E. 启动容器
-
docker start hello1 启动已经停止的容器
-
docker restart hello1 重启容器
F. 进入容器
-
docker exec -it hello1 /bin/bash
G. 删除容器
-
docker rm -f hello1
H. 查看 docker 帮助命令
-
docker --help
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律