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
原文地址:https://www.cnblogs.com/xiaozhang1995/p/14891994.html