docker学习
docker
docker安装
安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 git
配置docker yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker
yum install docker-ce -y
查看docker版本
docker -v
docker架构
-
镜像:image
-
容器:container
-
仓库:repository 保存镜像
配置docker镜像加速
-
1.登录阿里云
-
2.点击控制台
-
3.点击产品与服务
-
4.搜索栏输入镜像
-
5.点击容器与镜像服务
-
6.点击镜像工具----镜像加速器
-
7.选择操作系统配置加速器
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' {
"registry-mirrors": ["https://cgx5fl3h.mirror.aliyuncs.com"]
} EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker命令
systemctl start docker //启动docker
systemctl staus docker //查看docker服务状态
systemctl enable docker //开机启动docker
docker镜像命令
查看镜像
docker images //查看镜像列表
搜索镜像
docker search redis //搜索镜像
拉取镜像
docker pull redis //下载镜像
指定版本下载
docker pull redis:5.0
docker官方镜像网站
hub.docker.com
可以登录搜索查看镜像版本
删除镜像
docker rmi 镜像id
docker rmi 镜像名称:版本号
删除全部镜像
docker images -q //查看全部镜像id
docker rmi `docker images -q` \\删除全部镜像
docker容器相关命令
查看容器
docker ps -a
创建容器
docker run -it --name=redis1 redis /bin/bash
docker run -id --name=redis-test
-i 保持容器运行
-t 为容器分配一个终端
-d 后台运行容器,需使用docker exec进入容器,退出不会关闭
-it 创建的容器一般称为交互式容器 ,-id一般称为守护式容器
--name 为创建的容器命令
退出容器
exit
进入容器
docker exec -it redis-test /bin/bash
启动容器
docker start 容器ming
停止容器
docker stop 容器名
删除容器
docker rm 容器id/容器名
开启的容器不能被删除的
查看容器信息
docker inspect 容器名
docker容器的数据卷
数据卷概念
- 数据卷是宿主机中的一个目录或文件
数据卷作用
-
容器数据持久化
-
客户端和容器数交换
-
容器之间数据交换
-
当容器目录和数据卷目录绑定后,对方的修改会立即同步
-
一个数据卷可以被多个容器同时挂载
-
一个容器也可以被挂载多个数据卷
docker配置数据卷
docker run -v 宿主机目录:容器内目录
docker run -it --name=test -v /root/data:/root/data_test centos /bin/bash
两个容器挂载同一个目录
docker run -it --name centos1 -v /root/data/:/root/data centos
docker run -it --name centos2 -v /root/data/:/root/data centos
-
数据卷就是宿主机的一个目录或文件
-
目录必须是绝对路径
-
如果目录不存在,会自动创建
-
可以挂载多个数据卷
数据卷容器
- 创建v3数据卷容器,使用-v参数,设置数据卷
docker run -it --name=v3 -v /volume centos /bin/bash
- 创建v1 v2容器,使用–volumes-from 参数设置数据卷
docker run -it --name=v1 --volumes-from v3 centos /bin/bash
docker run -it --name=v2 --volumes-from v3 centos /bin/bash