Docker
Docker
系统应用不能相互调用
Docker是如何解决不同系统之间的环境问题(函数库不同)
- Docker将用户程序和所需要的函数库(如Ubuntu)函数一起打包
- Docker运行到不同的操作系统时候(只要是基于Linux内核的)直接越过操作系统借助Linux内核执行
Docker与虚拟机
Hypervisor:模拟出硬件
镜像和容器:
镜像:Docker将应用程序所需要的依赖,函数库,环境和配置文件等文件打包在一起,成为镜像
容器:镜像中的应用程序运行后形成的进程就是容器,只是Docker对容器进行隔离,对外不可见
docker架构
守护进程:什么是守护进程?
守护进程(Daemon Process),也就是通常说的 Daemon 进程(精灵进程),是 Linux 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。
守护进程是个特殊的孤儿进程,这种进程脱离终端,为什么要脱离终端呢?之所以脱离于终端是为了避免进程被任何终端所产生的信息所打断,其在执行过程中的信息也不在任何终端上显示。由于在 Linux 中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。
(防止关闭终端就挂逼了)
Docker是一个CS架构的程序,由两部分组成:
- 服务端:Docker守护进程,负责处理Docker指令,管理镜像,容器等
- 客户端:通过命令或者 RestApI想Docker服务端发送命令。可以在本地或者远程服务端发送
Docker命令
1 | systemctl start docker # 启动docker服务 |
镜像相关命令
镜像名称
1 | docker images #查看镜像 |
创建容器
端口映射:
1 | docker run : #创建一个容器 |
进入容器:
1 | docker exec: #进入容器内部,执行一个命令 |
1 | docker run --name mr(名称) -p 6379:(容器内端口)6379 -d(后台运行) redis redis-server --appendonlu yes(aop的持久化) |
进入容器:
1 | docker exec -it mr bash |
停止:docker stop mn
**启动: **docker start mn
强制删除:docker rm -f mn
数据卷
指向宿主机的某个目录
docker volume 二级命令
创建时候挂载
直接挂载
集群部署
**DockerCompose:**无需手动一个一个创建运行,快速部署
compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 WzlBlog!
评论
匿名评论
你无需删除空行,直接评论以获取最佳展示效果