一、Docker 部署安装
1、Docker 的概念
Docker 是一个开源的应用容器引擎,让开发这可以打包他们的应用以及依赖包到一个可以移植的境相当中,然后发布到任何流行 的Linux或者Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,Docker 对进程之间相互隔离,相互之间不会有任何的接口,对底层环境无任何要求。
2、Docker 组成
2.1)Docker 引擎
Docker引擎是一个在客户机与服务器之间的应用程序,具有以下的主要组件:
①server,它是一种长时间运行的程序,称为守护进程
②REST API 接受来自客户端的请求,调取相应的接口与守护进程进行交互
③client,命令行界面(Docker命令)
2.2)Docker组成
客户端与Docker服务器的守护进程进行通信,守护进程根据请求来实现构建,运行,和发布。客户机可以与服务器在同一台主机上,也可以在不同网络之间进行通信。
客户 Docker主机 注册表编辑器
- Docker Client:客户端
用户与Docker交互的主要方式,Docker客户端可以与多个守护进程进行交互
- Docker Daemon:守护进程
用来监听Docker API 的请求并管理对象,例如镜像,容器,网络和卷,守护进程还可以与其 他的守护进程通信,以管理Docker 服务。
- Docker Image:镜像
Docker 镜象是一个只读模板,包含创建Docker 容器的说明,通常一个镜像基于另一个镜像,并带有一些额外的自定义镜像。
- Docker Container:容器
容器是镜像可以运行的实例,可以通过Docker API 或者客户端创建、启动、停止、移动或者删除容器,可以将容器连接到一个或者多个网络,将存储附加到该网络中,也可以根据当前的状态进行创建新的镜像
- Docker Registry:镜像仓库
Docker仓库用来存储Docker 的镜像,Docker Hub 是任何人都可以使用的Docker镜像仓库,Docker配置项也默认在这上面查找镜像
3、容器与虚拟机的区别
4、Docker 的安装部署(client和服务在同一台主机)
4.1)关闭防火墙及核心功能
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
vim /etc/sysconfig/selinux
SELINUX=disabled
4.2)依赖包,docker 镜像源,docker安装
[root@o ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
[root@o ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@o ~]# yum -y install docker-ce
4.3)启动 Docker、开机自启
[root@o ~]# systemctl restart docker
[root@o ~]# systemctl enable docker
4.4)镜像加速
访问 www.aliyun.com →控制台→登录→全部产品与服务中搜索:容器镜像服务→镜像工具→镜像加速器→复制链接。
[root@o ~]# cd /etc/docker/ #切到 Docker 下
[root@o docker]# vim daemon.json #新建文件并添加下面内容
{
"registry-mirrors":["https://xxxxx.mirror.aliyuncs.com"]
}
保存退出 重新启动服务。
[root@o ~]# systemctl daemon-reload #守护进程重新加载
[root@o ~]# systemctl restart docker#重启服务
4.5)网络优化
[root@o ~]# vim /etc/sysctl.conf #添加下面内容
net.ipv4.ip_forward=1
[root@o ~]# sysctl -p#打印查看
[root@o ~]# service network restart #网络服务重启
[root@o ~]# systemctl restart docker#docker 重启
安装部署完成!
4、Docker 常规的命令操作
1、账户登录
[root@o ~]# docker login #这里的账户和密码是要去官网注册的
官网:https://hub.docker.com
2、常用基础命令
[root@o ~]# docker search nginx #搜索镜像
[root@o ~]# docker pull nginx #安装镜像
[root@o ~]# docker images #查看所有镜像
[root@o ~]# docker inspect 镜像ID #查看指定镜像
[root@o ~]# docker tag 旧名称 新名称 #改名
[root@o ~]# docker rmi nginx #删除指定镜像
[root@o ~]# docker save -o 文件名 镜像名 #将镜像导出到当前目录
[root@o ~]# docker load < 镜像名 #载入镜像
[root@o ~]# docker push 镜像名称 #上传镜像到仓库
[root@o ~]# docker create -it 镜像名 /bin/bash #创建容器 i=让容器的标准输入保持打开 t=让Docker分配一个伪终端
[root@o ~]# docker ps -a #容器查看
[root@o ~]# docker start 容器ID #启动容器
[root@o ~]# docker run centos:7 /usr/bin/bash -c ls / #启动执行命令查看系统目录
[root@o ~]# docker stop 容器ID #终止容器
[root@o ~]# docker exec -it 容器ID /bin/bash #启动容器
[root@o ~]# docker export 镜像ID #容器导出
[root@o ~]# cat 文件名 | docker import - 镜像名 #容器导入
[root@o ~]#docker rm 容器ID #删除容器