Docker
是一个快速交付应用,运行应用的技术
一.作用
-
解决大型项目依赖关系复杂,不同组件依赖的兼容性问题
-
Docker允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像 -
Docker应用运行在容器中,使用沙箱机制,相互隔离
)
-
-
解决开发、测试、生产环境有差异的问题
-
Docker将用户程序与所需要调用的系统函数库一起打包Docker运行到不同操作系统时,直接基于打包的库函数,借助于操作系统的Linux内核来运行
-
二.Docker与虚拟机

三.镜像和容器
- 镜像(
lmage):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。 - 容器(
Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。
DockerHub是一个镜像托管的服务器,类似的还有阿里云镜像服务,统称为
DockerRegistry
四.Docker架构
Docker是一个CS架构的程序,由两部分组成:
- 服务端(
server):Docker守护进程,负责处理Docker指令,管理镜像、容器等 - 客户端(
client):通过命令或RestAPI向Docker服务端发送指令。可以在本地或远程向服务端发送指令。

五.Docker 基本操作

注意:
shell
#查看帮助命令
docker -help
#查看具体命令的帮助
docker images --help
1.具体的镜像拉取操作
1.1DockerHub(需要魔法):https://hub.docker.com/

1.2搜索自己需要的镜像

1.3在XSherll上通过命令拉取镜像

1.4查看拉起到的镜像

2.利用docker save将nginx镜像导出磁盘,然后再通过load加载回来
2.1
shell
sudo docker save -o nginx.tar nginx:latest
#查看文件
ll

2.2
shell
#删除镜像nginx
sudo docker rmi nginx:latest
#通过load加载回来nginx
sudo docker load -i nginx.tar

六.容器相关命令

shell
docker logs #查看容器运行日志
docker ps #查看所有运行的容器及状态
docker exec #进入容器执行命令
docker rm #删除指定容器
案例1:

案例2:


七.数据卷

数据卷的作用:
【将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全】
shell
sudo docker volume create 卷名 #创建数据卷
sudo docker volume ls #查看存在的数据卷
sudo docker volume inspect 卷名 #查看指定数据卷的详细信息
sudo docker volume rm 卷名 #删除指定数据卷
sudo docker volume prune #删除未使用的数据卷