持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第15天,点击查看活动详情
1.docker概念
- Docker 是一个开源的应用容器引擎
- 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
- Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上
- 容器是完全使用沙箱机制,相互隔离
- 容器性能开销极低
- Docker总的来说是一种容器技术,解决软件跨环境迁移的问题
2 .安装docker
1、yum 包更新到最新
yum update
2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
3、 设置yum源
yum-config-manager --add-repo download.docker.com/linux/cento…
4、 安装docker,出现输入的界面都按 y
yum install -y docker-ce
5、 查看docker版本,验证是否验证成功
docker -v
3 .docker架构
- 镜像(Image): Docker 镜像(Image),就相当于是 一个 root 文件系统。
- 容器(Container) :镜像(Image)和容器(Contain er)的关系,就像是面向对象程序设计中的类和对象一 样,镜像是静态的定义,容器是镜像运行时的实体。容 器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository) :仓库可看成一个代码控制中心, 用来保存镜像。
4. 配置 Docker 镜像加速器
(1):从docker hub(hub.docker.com/)上下载,但是很慢
(2):配置镜像加速器
①:USTC:中科大镜像加速器(docker.mirrors.ustc.edu.cn)
②: 阿里云(www.aliyun.com/)
③: 腾讯云
④: 网易云
下面是阿里云的镜像像加速器:
只需要将里面的内容拷下来在命令窗口执行一下就可以了
查看文件 cat/etc/docker/daemon.json
5 .docker命令-基于CentOS7
启动Docker服务:systemctl start docker
查看状态: systemctl status docker
停止Docker服务: systemctl stop docker
重启Docker服务: systemctl restart docker
开机启动Docker服务: systemctl enable docker
启动完Docker后,查看状态如图:
停止后查看状态:
6.Docker 镜像相关命令
查看本地所有镜像: docker iamges
在远程仓库中搜索镜像: docker search 镜像名称
拉取远程仓库中的镜像: docker pull 镜像名称:版本号 ,如果不指定版本号,默认是最新的版本latest
当我们在拉取时不知道版本,这时可以去(hub.docker.com)中找;
删除本地镜像: docker rmi 镜像id 删除指定的本地镜像
删除所有的本地镜像: docker rmi 'docker images -q'
7.Docker容器相关命令
查看正在运行的容器:docker ps
查看所有容器(不管运行还是关闭状态): docker ps -a
创建并启动容器:docker run 参数
• -i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
• -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
• -d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。
• -it 创建的容器一般称为交互式容器,-id 创建的容器一般称为守护式容器
• --name:为创建的容器命名。
后面再加上 /bin /bash参数后,就是启动并进入容器,退出容器也就关闭容器;-也称为交互式容器。
守护式容器:docker run -id --name=r2 redis:5.0
执行命令后会将容器id输出
进入容器: docker exec -it r2 /bin /bash , 通过-id创建的熔体 ,在exit退出时也不会关闭容器
启动容器:docker start 容器名称或容器id
停止容器: docker stop 容器名称或容器id
删除指定容器:docker rm 容器名称或容器id
删除所有容器: docker rm docker ps -a -q
查看容器信息:docker inspect 容器名称或容器id
8.Docker容器的数据卷
Docker 容器删除后,在容器中产生的数据也会随之销毁 ;
Docker 容器和外部机器可以交换文件
容器之间进行数据交互
外部机器是不能直接与容器进行通信,但是可以与宿主机进行通信,比如linux。
数据卷:
- 数据卷是宿主机中的一个目录或文件
- 当容器目录和数据卷目录绑定后,对方的修改会立即同步
- 一个数据卷可以被多个容器同时挂载
- 一个容器也可以被挂载多个数据卷
数据卷的作用:
• 容器数据持久化
• 外部机器和容器间接通信
• 容器之间数据交换