Docker相关技术名词:
镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。
容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器进程做隔离,对外不可见。
一个镜像托管的服务器,类似的还有阿里云镜像服务,统称为DockerRegistry。
开源应用程序非常多,打包这些应用往往是重复的劳动。为了避免这些重复劳动,人们就会将自己打包的应用镜像,例如Redis、MySQL镜像放到网络上,共享使用,就像GitHub的代码共享一样。
DockerHub:DockerHub是一个官方的Docker镜像的托管平台。这样的平台称为Docker Registry。
国内也有类似于DockerHub 的公开服务,比如 网易云镜像服务、阿里云镜像库等。
数据卷(容器数据管理)
为了解决容器与数据(容器内文件)耦合的问题。将数据与容器解耦,这就要用到数据卷了。
数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。
数据卷的作用:
将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全
Docker命令大全:
1.docker xx --help 命令 查看xx命令的语法
例:docker save --help 查看save命令语法
2.docker save -o nginx.tar nginx:latest 导出镜像到磁盘
解释:docker save -o [保存的目标文件名称] [镜像名称]
nginx.tar 保存的目标文件名称
nginx:latest 镜像名称
3.docker rmi nginx:latest 删除本地的nginx镜像
4.docker load -i nginx.tar 加载本地文件
5.docker run --name containerName -p 80:80 -d nginx 创建并运行nginx容器的命令
解释:
docker run :创建并运行一个容器
--name : 给容器起一个名字 比如:mn
-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器
nginx:镜像名称,例如nginx
6.docker exec -it mn bash 进入我们刚刚创建的nginx容器的命令
解释:
docker exec :进入容器内部,执行一个命令
-it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
mn :要进入的容器的名称
bash:进入容器后执行的命令,bash是一个linux终端交互命令
7.docker volume create html 创建数据卷
8.docker volume ls 查看所有数据
9. docker volume inspect html 查看数据卷详细信息卷
10.数据卷操作:
docker volume create:创建数据卷
docker volume ls:查看所有数据卷
docker volume inspect:查看数据卷详细信息,包括关联的宿主机目录位置
docker volume rm:删除指定数据卷
docker volume prune:删除所有未使用的数据卷
解释:
create 创建一个volume
inspect 显示一个或多个volume的信息
ls 列出所有的volume
prune 删除未使用的volume
rm 删除一个或多个指定的volume
挂载数据卷:
docker run --name mn -v html:/root/html -p 8080:80 nginx
-v html:/root/htm
:把html数据卷挂载到容器内的/root/html这个目录中
11.简易版命令总结
Docker push
Docker pull 从服务拉取镜像
Docker images 查看镜像
Docker rmi 删除镜像
Docker save 保存镜像为一个压缩包
Docker load 加载压缩包为镜像
docker run 运行
docker pause 暂停
docker unpause 让一个容器从暂停状态恢复运行
docker start 停止一个运行的容器
docker stop 让一个停止的容器再次运行
docker rm:删除一个容器
docker exec 进入容器执行命令
docker logs 查看容器运行日志
docker ps 查看所有运行的容器及状态