前言
- OpenCloudOS 继承了腾讯在操作系统和内核层面超过10年的技术积累,在云原生、稳定性、性能、硬件支持等方面均有坚实支撑。OpenCloudOS 8 的基础库和用户态组件完全与 CentOS 8 兼容,经1000万+节点大规模验证,稳定性提升70%,特定场景性能提升50%,能提供相比于CentOS 8更优的解决方案。
关于软件源(使用dnf源)

安装Docker
1、使用腾讯的镜像源
bash
dnf config-manager --add-repo=http://mirrors.tencent.com/docker-ce/linux/centos/docker-ce.repo
2、执行安装Docker命令
bash
dnf install -y docker-ce docker-ce-cli containerd.io
3、启动Docker并且设置Docker自动启动
bash
#启动Docker
sudo systemctl start docker
#设置Docker自动启动
sudo systemctl enable docker
4、查看Docker是否安装成功
bash
docker -v
5、测试一个简单的命令docker run hello-world,此时可能会提示如下异常信息,说明无法访问 Docker Hub的镜像仓库,需要使用国内的镜像仓库
bash
#异常信息
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.
6、设置Docker Hub的镜像仓库为腾讯镜像库,在/etc/docker目录下,创建daemon.json文件,编辑文件将配置内容复制到文件里
bash
#创建daemon.json文件
vi /etc/docker/daemon.json
bash
#文件内容
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
7、重启Docker,查看docker配置信息,在配置信息倒数第二行出现腾讯镜像库的地址如图,说明设置成功
bash
#重启Docker
systemctl restart docker
#查看Docker配置信息
docker info

创建卷
卷(Volumes)是一种用于持久化数据、独立于容器生命周期的数据管理方式。卷可以被容器挂载,并且可以在多个容器之间共享或重用。这使得卷成为管理Docker容器中数据的一种非常有效的方式。
1、为什么需要卷?容器重启或者删除时,其内部的文件系统会被清空,所有写入的数据都会丢失,所以需要在宿主机创建卷并且将容器的重要文件挂载到卷上。卷的生命周期独立于容器,即使容器被删除,只要卷还在,容器重新挂载后数据就能回复。
2、手动创建一个卷(匿名卷是由Docker自动创建,名字是遗传随机ID,适合临时缓存,但不好管理,所以推荐创建一个命名卷,就是手动创建一个卷)
bash
docker volumn create myvolume
3、查看卷的详细信息,包括在宿主机的具体路径,如图
bash
docker volume inspect myvolume

4、举例,测试把nginx的重要配置挂载到nginx-volume卷,如果没有nginx-volume卷则会自动创建
bash
#docker run 运行容器
#-v 挂载卷
#<卷>:<容器内绝对路径目录>
#nginx 镜像
docker run -v nginx-volume:/etc/nginx nginx
4、不同的容器有默认的挂载目录,例如Nginx挂载的容器内目录一般是/etc/nginx,MySQL挂载的容器内目录一般是/var/lib/mysql,Redis挂载的容器内目录一般是/data