镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。
容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器进程做隔离,对外不可见。
数据卷(volume):是一个虚拟目录,指向宿主机文件系统中的某个目录。
镜像不可以修改,容器相当于镜像的运行进程。
Docker是一个CS架构的程序,由两部分组成:
服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等
客户端(client):通过命令或RestAPI向Docker服务端发送指令。可以在本地或远程向服务端发送指令。
命令后面加上对应的镜像名字就可以了
作用 | 命令 |
---|---|
拉取镜像 | docker pull |
推送镜像 | docker push |
本地构建镜像 | docker build |
查看所有镜像 | docker images |
删除镜像 | docker rmi |
保存为压缩包 | docker save |
加载压缩包为镜像 | docker load |
作用 | 命令 |
---|---|
创建容器 | docker run |
暂停 | docker pause |
从暂停恢复 | docker unpause |
停止 | docker stop |
恢复 | docker start |
查看运行的容器 | docker ps |
数据卷操作的基本语法如下:
docker volume [COMMAND]
作用 | 命令 |
---|---|
创建 | create |
显示一个或多个volume | inspect |
列出所有 | ls |
删除未使用 | prune |
删除一个或多个 | rm |
docker pull redis
docker images
docker rmi
docker save -o 保存的文件 镜像
docker load -i 文件
运行上我们可以去查看官方文档, 看如何配置
打开文档
有说如何运行
参数 | 作用 |
---|---|
-name | 指定容器名称 |
-p | 指定端口映射 |
-d | 让容器后台运行 |
–volume , -v: | 绑定一个卷 |
-m | 设置容器使用内存最大值 |
-e name=“value” | 设置环境变量 |
-v 名字:docker目录(都必须要是绝对路径)-v test:/usr/share/html
这样就会把容器内的/usr/share/html挂载到默认的(/var/lib/docker/volumes/)test下可以通过docker inspect 卷名查看
docker inspect test
-v 绝对路径的文件/目录:docker文件/目录
把官方文档下的使用拿来修改一下
docker run --name nginx \-v /usr/local/etc/html:/usr/share/nginx/html:ro\-p 80:80\-d nginx
我们打开页面会发现
然后我们进入挂载的html查看,发现是没有文件的
我们创建一个index.html
随便写点东西
保存后刷新可以了,挂载启动成功
之前我在wsl安装docker文章中介绍过其的安装,在docker基本介绍中介绍过基本使用
选择我们来使用这个来进行上面的实例
启动