docker: 开源的应用容器引擎.可以给应用和应用需要的环境移植到linux机器上.
版本: CE社区版本 EE企业版本,收费的
1.安装docket
//1.yum包更新到最新版本 yum update //2.安装需要的软件包,yum-utils提供yum-config-manager功能,另外2个是devicemapper驱动功能 yum install -y yum-utils device-mapper-persistent-data lvm2 //3.设置yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo //4.安装docker,出现输入界面就 同意 Y //下面 -y就是自动同意 yum install -y docker-ce //5.docker -v 可以查看版本
//6.配置镜像加速,因为默认的镜像下载地址是国外的,直接在阿里云后台找到镜像里的容器镜像服务,复制centos里的内容执行
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://4whbzgpi.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
构成的结构定义:
镜像(Image) : docker镜像,一套完整的root文件系统。
容器(Container): 镜像和容器的关系,就像类和对象一样,镜像是定义,容器是实体,容器可以创建,启动,停止,删除等。
仓库(Reopsitor): 仓库可以看成是代码控制中心,用来保存镜像.
2.操作docker控制守护进程的命令
启动: systemctl start docker 状态: systemctl status docker 停止: systemctl stop docker 重启: systemctl restart docker 开机启动: systemctl enable docker
3.操作docker控制镜像的命令
查看镜像(本地) docker images
搜索镜像(远程) docker search redis
拉取镜像(远程) docker pull redis //docker pull redis:3.2
如果不知道版本,可以在 https://hub.docker.com/里找
删除镜像(本地) docker rmi +image ID 如: docker rmi 7614ae9453d1
删除所有镜像 docker rmi `docker images -q`
4.操作docker控制容器的命令
查看容器
docker ps docker ps -a 查看所有容器
创建容器
docker run -it --name=c1 centos:7 /bin/bash 回车即进入了容器 //-i 指保持容器一直运行,-t 相当于打开一个终端输入命令用 c1是名称
docker run -id --name=c2 centos:7 //这里-id表示在后台运行创建容器,进入后再退出不会关闭容器
退出: exit 这里-it的退出同时容器也会关闭
进入容器
docker exec -it c2 /bin/bash //进入容器并打开一个命令行
启动容器
docker start c2 //关闭名称为c2的容器
停止容器
docker stop c2 //关闭名称为c2的容器
删除容器,先查镜像 docker ps -a
docker rm 容器名称 或 docker rm 容器ID【container id】
删除所有容器 docker rm `docker ps -aq` //正在运行的容器是删除不了的,要先停止
查看容器信息
docker inspect
5.数据卷:
解决容器删除后数据丢失,容器与外部机文件交换,容器之间数据交换的问题,所以数据卷是在宿主机中的一个目录或文件,采用挂载的方式绑定到容器里。
一个数据卷可以被多个容器同时挂载。
5.1 如何挂载数据卷 【注意:1.目录必须绝对路径,2.如果不存在会自动创建,3.可以挂载多个数据卷】
docker run -it --name=c1 -v root/data:/root/data1 centos:7 //其中root/data:/root/data1冒号左边是宿主机文件夹位置,右边是容器的文件夹位置
如果多个目录挂载就 -v xx:xx -v xx:xxx -v xx:xx 命令太长时可以用反斜杠换行
5.2 数据卷容器
6.docker中mysql部暑
搜索mysql--拉取mysql--创建容器--操作容器中的mysql
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术