镜像相关命令
- 镜像名称一般分两部分组成:[repository]:[tag]。
- 在没有指定tag时,默认是latest,代表最新版本的镜像
- 利用docker xx --help命令可以查看各种命令的用法
需求:从DockerHub镜像仓库中拉取一个nginx镜像查看
- 从镜像仓库 DockerHub 中搜索nginx镜像
- 根据查看到的镜像名称,拉取需要的镜像版本,通过命令:docker pull nginx
- 通过命令:docker images 查看拉取到的镜像
常用镜像命令
常用镜像操作 | docker images | docker rmi | docker pull | docker push | docker save | docker load |
作用 | 拉取所有镜像 | 删除镜像 | 拉取镜像 | 推送镜像 | 保存镜像为一个压缩包 | 加载压缩包为镜像 |
容器相关命令
- 利用docker xx --help命令可以查看各种命令的用法
docker run | docker ps | docker logs | docker exec | docker rm | docker pause | docker unpause | docker stop | docker start |
创建并运行一个容器 | 查看所有运行的容器及状态 | 查看容器运行日志 | 进入容器执行命令 | 删除容器 | 暂停容器运行 | 容器回复运行 | 停止容器 | 重启容器 |
需求:创建运行一个Nginx容器
在 DockerHub 查看Nginx的容器运行命令
docker run --name containerName -p 80:80 -d nginx
命令解读:
docker run :创建并运行一个容器
--name : 给容器起一个名字,比如叫做mn
-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器
nginx:镜像名称,例如nginx
数据卷
数据卷的作用:将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全
容器与数据耦合的问题
数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。
数据卷操作
数据卷基础语法
docker volume [COMMAND]
create | inspect | ls | prune | rm |
创建一个volume | 显示一个或多个volume的信息 | 列出所有的volume | 删除未使用的volume | 删除一个或多个指定的volume |
需求:创建一个数据卷,并查看数据卷在宿主机的目录位置
1、创建数据卷
docker volume create html
2、查看所有数据
docker volume ls
3、查看数据卷详细信息卷
docker volume inspect html
挂载数据卷
我们在创建容器时,可以通过 -v 参数来挂载一个数据卷到某个容器目录
注意:如果容器运行时volume不存在,会自动被创建出来
docker run --name mn -v html:/root/html -p 8080:80 nginx
docker run :就是创建并运行容器
-- name mn :给容器起个名字叫mn
-v html:/root/htm :把html数据卷挂载到容器内的/root/html这个目录中
(注意:这个挂载目录要在Docker Hub 进行查询)
-p 8080:80 :把宿主机的8080端口映射到容器内的80端口
nginx :镜像名称
docker run的命令中通过 -v 参数挂载文件或目录到容器中:
-v volume名称:容器内目录
-v 宿主机文件:容器内文件
-v 宿主机目录:容器内目录
需求:创建一个nginx容器,修改容器内的html目录内的index.html内容
步骤一:拉取nginx镜像
docker pull nginx
步骤二:创建容器并挂载数据卷到容器内的HTML目录
docker run --name mn -v html:/usr/share/nginx/html -p 80:80 -d nginx
步骤三:进入html数据卷所在位置,并修改HTML内容
# 查看html数据卷的位置
docker volume inspect html
# 进入该目录
cd /var/lib/docker/volumes/html/_data
# 修改文件(图形化界面也可以直接进入文本编译界面进行修改)
vi index.html
(注:以上笔记来自黑马)