Docker基本命令(二)之 容器卷使用、DockerFile

相关阅读

前言

本文主要介绍了Docker数据卷的使用以及简单的dockerfile命令操作,并对dockerfile里面的CMD和ENTRYPOINT指令做了对比实验。

容器数据卷

使用容器数据卷

一句话:容器的持久化和同步操作!容器间也是可以共享的。

挂载

docker run -v host目录:容器目录 容器id

root@10:~# docker run -it --name="debian02" -v /home/ceshi:/home/ debian
root@839ad96507fd:/# cd /home/
root@839ad96507fd:/home# ls
root@839ad96507fd:/home# touch ceshi.sh
root@839ad96507fd:/home# exit
exit
root@10:~# cd /home/
root@10:/home# ls
ceshi  kate  test.java
root@10:/home# cd ceshi/
root@10:/home/ceshi# ls
ceshi.sh
root@10:/home/ceshi# 

查询

docker inspect 容器id:查看挂载情况

root@10:/home/ceshi# docker inspect 839ad96507fd   
[
    {
   
        ...
        "Mounts": [
            {
   
                "Type": "bind",
                "Source": "/home/ceshi",
                "Destination": "/home",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
 ],

优点:使用容器数据卷的话,就可以直接在本地做测试,而不用每一次都进入容器当中去。

具名和匿名挂载

docker run -v 容器路径 容器id: 匿名挂载
docker run -v 卷名:容器路径 容器id:具名挂载
docker volume --help查看卷帮助信息

查看本地容器卷,发现是匿名的:

root@10:~# docker volume --help

Usage:  docker volume COMMAND

Manage volumes

Commands:
  create      Create a volume
  inspect     Display detailed information on one or more volumes
  ls          List volumes
  prune       Remove all unused local volumes
  rm          Remove one or more volumes

Run 'docker volume COMMAND --help' for more information on a command.
root@10:~# docker volume ls
DRIVER              VOLUME NAME
local               bf1f729354c3e2522c33014fe831caf079f12888bca5d83382e70ce8188ebf04

启动镜像nginx为容器nginx02,命名容器卷为juming-nginx(-P是随机指定端口),用docker volume ls可以查看到卷的名字,使用docker volume iinspect 卷名可以查看具体的卷的相关信息,发现卷在/var/lib/docker/volumes/下。事实上,docker所有的数据都保存在/var/lib/docker/下,卷都保存在其下的/var/lib/docker/volumes/目录下。

root@10:~# docker run -P -d -v juming-nginx:/ect/nginx  --name nginx02 nginx
e89a08353b7571c20a06d1baa70f94884014ab2704186858c7b503c40e4fc3c6
root@10:~# docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                    NAMES
e89a08353b75        nginx                 "/docker-entrypoint.…"   5 seconds ago       Up 3 seconds        0.0.0.0:32768->80/tcp    nginx02
8f557fe4d5d4        portainer/portainer   "/portainer"             2 hours ago         Up 2 hours          0.0.0.0:8080->9000/tcp   prtainer01
bdd701179836        nginx                 "/docker-entrypoint.…"   5 hours ago         Up 5 hours          0.0.0.0:2233->80/tcp     nginx01
root@10:~# docker volume ls
DRIVER              VOLUME NAME
local               bf1f729354c3e2522c33014fe831caf079f12888bca5d83382e70ce8188ebf04
local               juming-nginx
root@10:~# docker volume inspect juming-nginx
[
    {
   
        "CreatedAt": "2020-08-27T19:49:36+08:00",
        "Driver"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值