Docker简单操作及软件部署

Docker
- Docker安装
- Docker架构
- 配置Docker镜像加速器
- docker命令
-
- docker服务相关的命令
- docker镜像相关的命令
- Docker容器相关命令
- Docker容器的数据卷
-
- 数据卷的作用
- 配置数据卷
- 数据卷容器
- Docker应用部署
-
- MySQL部署
- Tomcat部署
我们写代码会接触到好几个环境: 开发环境、测试环境、测试环境

不知道大家有没有遇到过这种情况,一个代码在自己电脑跑的好好的,但是在放到别人的电脑上跑的时候忽然就报错了,究其根本只能是因为环境不匹配导致的,但如何解决这种因为环境导致的问题呢?是不是可以在迁移的过程中,把环境也迁移过去,Docker就是为此而生的
Docker是一个开源的应用容器引擎
Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上。
容器是完全使用沙箱机制,相互隔离
容器性能开销极低
Docker安装
第一步:先查看centsos版本
Docker要求CentOS系统的内核版本高于3.10

如果不满足的话可以升级软件包及内核
yum updat
第二步:安装Docker

第三步: 启动Docker

第四步:开机启动docker

第五步:停止docker

Docker架构

镜像(Image) : Docker镜像(lmage),就相当于是—个root文件系统。比如官方镜像ubuntu:16.04就包,含了完整的一套Ubuntu16.04最小系统的root文件系统。
容器(Container) :镜像(lmage)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository) :仓库可看成一个代码控制中心,用来保存镜像。
配置Docker镜像加速器

docker命令
docker服务相关的命令
启动docker

查看docker状态

停止docker

重启docker

开机启动docker

docker镜像相关的命令
查看镜像

搜索镜像

拉取镜像

删除镜像

删除所有镜像

Docker容器相关命令
查看容器


创建容器

注意
如果通过-it创建的容器,退出容器哦之后就关闭了
该创建方式通过exit退出之后不会关闭容器

进入容器

启动容器

关闭容器

删除容器

删除所有容器

查看容器信息

Docker容器的数据卷
Docker容器删除后,在容器中产生的数据还在吗?
Docker容器和外部机器可以直接交换文件吗?

容器之间想要进行数据交互?

数据卷:1.数据卷是宿主机中的一个目录或文件
2.当容器目录和数据卷目录绑定后,对方的修改会立即同步

3.一个数据卷可以被多个容器同时挂载
4.一个容器也可以呗挂载多个数据卷
数据卷的作用
1.容器数据持久化
2.外部机器和容器间通信
3,容器之间数据交换
配置数据卷
创建启动容器时,使用-v参数 设置数据卷

注意事项:
1.目录必须是绝对路径
2.如果目录不存在,会自动创建
3.可以挂载多个数据卷
恢复容器

数据卷容器
多容器进行数据交换
1.多个容器挂载同一个数据卷
2.数据卷容器

配置数据卷容器
1.创建启动c3数据卷容器,使用-v参数设置数据卷

2.创建启动c1 c2容器,使用–volumes-from参数 设置数据卷


Docker应用部署
MySQL部署
案例需求:
在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server

该操作行为称为端口映射
实现步骤:
第一步:搜索mysql镜像
第二步:拉取mysql镜像

第三步:创建容器、设置端口映射、目录映射


第四步:操作容器中的mysql


Tomcat部署
在Docker容器中部罢Tomcat,并通过外部机器访问Tomcat部署的项目。
实现步骤:
1.搜索tomcat镜像
2.拉取tomcat镜像
3.创建容器


4.部署项目
5.测试访问


