Docker详细使⽤教程
Docker
01-主要内容
初识 Docker
Docker 命令
Docker 容器数据卷
Dockerfile
Docker 应⽤部署
Docker 服务编排
Docker 私有仓库
Docker相关概念
02-初识docker-docker概述
分析:
把环境⼀起给打包起来
操作系统,运⾏环境(软件,服务),项⽬
Docker 概念
· Docker 是⼀个开源的应⽤容器引擎
· 诞⽣于 2013 年初,基于 Go 语⾔实现, dotCloud 公司出品(后改名为Docker Inc)
· Docker 可以让开发者打包他们的应⽤以及依赖包到⼀个轻量级、可移植的容器中,然后发布到任何流⾏的Linux 机器上。· 容器是完全使⽤沙箱机制,相互隔离
· 容器性能开销极低。
· Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)
03-初识docker-安装docker
基于centos7版本进⾏在线安装
# 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/linux/po
# 4、安装docker,出现输⼊的界⾯都按 y
yum install -y docker-ce
# 5、查看docker版本,验证是否验证成功
docker -v
出现下⾯这个提⽰表⽰安装成功
04-初识docker-docker架构
docker的架构
go语言开发环境搭建客户端: Clients,就是我们输⼊docker命令的命令⾏,⽤户⽤来操作docker.
docker主机: Hosts,安装了docker服务的计算机
仓库: Registries,存放镜像的仓库所在的服务器(中央仓库,私服)
·**镜像(Image):**Docker 镜像(Image),就相当于是⼀个 root ⽂件系统。⽐如官⽅镜像 ubuntu:16.04 就包含了完整的⼀套Ubuntu16.04 最⼩系统的 root ⽂件系统。
·容器(Container):镜像(Image)和容器(Container)的关系,就像是⾯向对象程序设计中的类和对象⼀样,镜像是静态的定义,容器是镜像运⾏时的实体。容器可以被创建、启动、停⽌、删除、暂停等。
·仓库(Repository):仓库可看成⼀个代码控制中⼼,⽤来保存镜像。
05-初识docker-配置镜像加速器
使⽤阿⾥云的镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":["iaiwnlq8.mirror.aliyuncs"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
06-docker命令-服务相关命令(基于CentOS 7)
启动docker服务:
systemctl start docker
停⽌docker服务:
systemctl stop docker
重启docker服务:
systemctl restart docker
查看docker服务状态:
systemctl status docker
设置开机启动docker服务:
systemctl enable docker
07-docker命令-镜像相关命令
操作docker镜像的命令
分析:
查看镜像: 查看本地所有的镜像
docker images
docker images –q # 查看所有镜像的id
搜索镜像:从⽹络中查需要的镜像
docker search 镜像名称
拉取镜像:从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定则是最新的版本 latest。如果不知道镜像版本,可以去docker hub 搜索对应镜像查看。
查看镜像的信息:
docker pull 镜像名称:镜像版本
删除镜像: 删除本地镜像
docker rmi 镜像id # 删除指定本地镜像
docker rmi `docker images -q`# 删除所有本地镜像
08-docker命令-容器相关命令
·查看容器
·创建容器
·进⼊容器
·启动容器
·停⽌容器
·删除容器
·查看容器信息
8.1 查看容器
# 查看容器
docker ps -a
8.2 创建容器&进⼊容器
# 创建并启动交互式容器
docker run -it --name=mycentos7 centos:7 /bin/bash
# 创建并启动守护式容器
docker run -di --name=mycentos2 centos:7
# 启动容器后再进⼊容器
docker exec -it mycentos2 /bin/bash
#在容器内部退出容器(看命令⾏前⾯的主机名)
exit
注意:
-it 创建docker交互式容器(启动容器之后会直接进⼊容器的命令⾏终端,如果退出则容器停⽌运⾏)
-
di 创建并启动docker容器,可以在后台运⾏;守护式容器在启动之后会⼀直在后台运⾏,即使进⼊容器之后执⾏exit命令也不会停⽌容器;适⽤于需要长期运⾏容器的情况.
09-docker命令-容器相关命令2
9.1 启动容器
# c1是容器的name,或者ID
docker start c1
9.2 停⽌容器
# c1是容器的name,或者ID
docker stop c1
9.3 删除容器
#只能删除停⽌状态的容器
docker rm c1 # c1是容器的name,或者ID
#删除所有容器
docker rm`docker ps -a -q`
9.4 查看容器信息
docker inspect c1
最经常查看的容器的IP地址: NetWorkSettings.IPAddress
10-docker容器数据卷-数据卷概念及作⽤
分析:
什么是数据卷?
·数据卷是宿主机中的⼀个⽬录或⽂件
·当容器⽬录和数据卷⽬录绑定后,对⽅的修改会⽴即同步
·⼀个数据卷可以被多个容器同时挂载
·
⼀个容器也可以被挂载多个数据卷
数据卷的作⽤
·容器数据持久化
·外部机器和容器间接通信
·容器之间数据交换
11-docker容器数据卷-配置数据卷
创建启动容器时,使⽤ –v 参数 设置数据卷
# 所有的命令:前⾯都是宿主机,后⾯是容器
docker run ... –v 宿主机⽬录(⽂件):容器内⽬录(⽂件)...
#创建容器挂载数据卷
docker run -it --name=c2 -v ~/data:/root/data_con centos:7
#在容器中,进⼊⽂件夹
cd ~
#查看挂载的⽬录,会看到⽂件夹data_con
ll
#克隆crt窗⼝,查看主机的/root/data
cd ~
#在主机中创建⽂件
#写⼀个带内容的⽂件
echo itcast > a.txt
注意:
1. ⽬录必须是绝对路径
2. 如果⽬录不存在,会⾃动创建
2. 可以挂载多个数据卷
12-docker容器数据卷-配置数据卷2
docker run -it --name=c2 -v ~/data:/root/data centos:7
docker run -it --name=c3 -v ~/data:/root/data centos:7
注意: 多个容器挂载相同的数据卷,就可以做到容器之间共享数据。13-docker容器数据卷-数据卷容器
多容器进⾏数据交换
1. 多个容器挂载同⼀个数据卷
2. 数据卷容器
配置数据卷容器
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论