一、简介
1.1 Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题?
- Docker允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像
- Docker应用运行在容器中,使用沙箱机制,相互隔离
1.2 Docker如何解决开发、测试、生产环境有差异的问题
- Docker 镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行
1.3 Docker 和 虚拟机的区别
docker实现在不同的linux操作系统上运行和部署
- docker是一个系统进程;虚拟机是在操作系统中的操作系统
- docker体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般
1.4 Docker架构
镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,成为镜像(就是硬盘中的文件)
容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见
容器可以从镜像中读取数据,但是不能写
那以后MYSQL容器怎么写数据呢?
将data拷贝一份到自己的独立文件系统中,写数据的时候写到自己的地方(日志也是同样的原理,镜像不会被干扰和影响)
DockerHub:DockerHub是一个Docker镜像的托管平台,这样的平台称为Docker Registry
Docker是一个CS架构的程序,由两部分组成
- 服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等
- 客户端(client):通过命令或RestAPI向Docker服务端发送指令。可以在本地或远程向服务端发送指令
1.5 总结
Docker是一个快速交付应用、运行应用的技术:
- 可以将程序及其依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统
- 运行时利用沙箱机制形成隔离容器,各个应用互不干扰
- 启动、移除都可以通过一行命令完成,方便快捷
二、Docker安装(Windows版)
2.1 准备环境
至于为什么使用Windows版,我觉得使用虚拟机太麻烦了,而且下载虚拟机安装各种系统占用空间大,更主要的是我的虚拟机根本安装不下来很烦人,对他印象不好
条件:1.必须运行Windows10版本2004及更高版本或Windows11
2. 在下图的位置开启虚拟化,一般是开启的,最好看一眼,预防万一
管理员的身份启动命令窗口,输入:wsl --install
可能下载的很慢,耐心等待,尽量不要让他中途终端(保持网络良好),如果看着好久没动了,可以按几下回车试试
安装完成
记得重启一下电脑!!!
再次管理员打开命令窗口,输入下面的命令
wsl --install -d Ubuntu
可能会有点慢 ,长时间没反应就回车一下
输入用户名和密码(我这里输入用户名和密码的时候出了一点意外)
用户名:zhangjingqi
密码:123456(输入密码的时候不会显示,自己把握好就行了)
2.2 Docker安装
网址:
https://desktop.docker.com/win/stable/Docker%20Desktop%20Installer.exe
下载完成之后双击运行
下图的意思是添加桌面快捷方式,可以加也可以不加,看个人爱好,然后点击OK
下面提示安装成功,重启电脑,点击蓝色的就好
被迫接受条款
出现下面这个界面表示安装成功了
2.3 修改镜像
-
{
-
"registry-mirrors" : [
-
"https://registry.docker-cn.com",
-
"http://hub-mirror.c.163.com",
-
"https://docker.mirrors.ustc.edu.cn",
-
"https://cr.console.aliyun.com",
-
"https://mirror.ccs.tencentyun.com"
-
],
-
"builder": {
-
"gc": {
-
"defaultKeepStorage": "20GB",
-
"enabled": true
-
}
-
},
-
"experimental": false,
-
"features": {
-
"buildkit": true
-
}
-
}
一直转转转,等一会就可以了,不转了就可以了
三、安装portanier(可视化的Docker操作页面)
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ee:latest
下图是安装完成,到这步就行了
在网址输入localhost:9433,出来下面这个页面再点击高级,继续访问
之后出现这个情况