docker容器管理, 仓库管理, 数据管理, 数据卷的备份与恢复

容器管理

  • docker create -it centos6 bash //这样可以创建一个容器,但该容器并没有启动
  • docker start container_id //启动容器后,可以使用 docker ps 查看到,有start 就有stop,和restart
    之前我们使用的docker run 相当于先create再start
  • docker run -it centos bash
    这样进入了一个虚拟终端里面,我们可以运行一些命令,使用命令exit或者ctrl d 退出该bash,当退出后这个容器也会
    停止。
  • docker run -d 可以让容器在后台运行
    比如:docker run -d centos bash -c “while :; do echo “123”; sleep 2; done”
  • docker run --name web -itd centos bash // --name 给容器自定义名字
  • docker run --rm -it centos bash -c “sleep 30” //–rm 可以让容器退出后直接删除,在这里命令执行完容器就会退
<root@linux0 ~>$ docker create -it centos   #新版本不用写bash,自动运行/bin/bash;
b37f52a9c3082a568b0f66b77bb02c43700b8b12fe9d4f5606f5d657942d1f4d
<root@linux0 ~>$ docker create -it centos bash   #使用镜像创建容器,但是没启动;docker run -itd mirror 命令相当于创建容器并启动;
deb1179b137fcb8763aa4297ec0200746139d3d50745d9989d4b983ca24d854f
<root@linux0 ~>$ docker ps   #查看不到;
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
<root@linux0 ~>$ docker ps -a  #能查看到;
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
deb1179b137f        centos              "bash"              12 seconds ago      Created                                 reverent_moore
b37f52a9c308        centos              "/bin/bash"         30 seconds ago      Created                                 keen_blackwell
<root@linux0 ~>$ docker start b37f52  #启动容器;
b37f52
<root@linux0 ~>$ docker ps   #可查看到运行中的容器;
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
b37f52a9c308        centos              "/bin/bash"         About a minute ago   Up 4 seconds                            keen_blackwell
  • run没有d参数
<root@linux0 ~>$ docker run -it centos
[root@78eecc51ac7e /]# exit   #直接进入容器;
exit
<root@linux0 ~>$ docker ps -a   #退出关闭;
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
78eecc51ac7e        centos              "/bin/bash"         17 seconds ago      Exited (0) 7 seconds ago                       practical_goldberg
<root@linux0 ~>$ docker start 78eec  #需要再启动使用;再次进入后退出就不会关闭;
78eec
<root@linux0 ~>$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
78eecc51ac7e        centos              "/bin/bash"         49 seconds ago      Up 12 seconds                           practical_goldberg
  • 启动容器时命名,使用名字进入
<root@linux0 ~>$ docker run --name web -itd centos bash 
f1aa4d85f8b18ad0673f66127c6c26dae7080fca122fcfcb37d1b29b3096af5c
<root@linux0 ~>$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
f1aa4d85f8b1        centos              "bash"              6 seconds ago       Up 5 seconds                            web
78eecc51ac7e        centos              "/bin/bash"         7 minutes ago       Up 6 minutes                            practical_goldberg
<root@linux0 ~>$ docker exec -it web  bash
[root@f1aa4d85f8b1 /]# 
  • 容器运行命令后关闭
<root@linux0 ~>$ date && docker run --rm -it centos bash -c "sleep 10" && date
2020年 01月 07日 星期二 18:24:55 CST
2020年 01月 07日 星期二 18:25:06 CST

<root@linux0 ~/git1>$ date && docker ps -a   #另一个终端可看到运行中的新的容器;
2020年 01月 07日 星期二 18:24:57 CST
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
5a8d44deac5e        centos              "bash -c 'sleep 10'"   2 seconds ago       Up 1 second                             bold_nobel
78eecc51ac7e        centos              "/bin/bash"            15 minutes ago      Up 14 minutes                           practical_goldberg
  • docker logs 可以获取到容器的运行历史信息,用法如下
    docker logs container_id
  • docker attach 可以进入一个后台运行的容器,比如
    docker attach container_id //但是attach命令不算好用,比如我们想要退出终端,就得exit了,这样容器也就退
    出了,还有一种方法
  • docker exec -it container_id bash //可以临时打开一个虚拟终端,并且exit后,容器依然运行着
  • docker rm container_id //container_id是ps的时候查看到的,这样就可以把container删除,如果是运行的容器,>可以加-f
  • docker export container_id > file.tar // 导出容器,可以迁移到其他机器上,需要导入
  • cat file.tar |docker import - aming_test //这样会生成aming_test的镜像
  • logs
<root@linux0 ~>$ docker logs 78eecc
[root@78eecc51ac7e /]# exit  #只记录一条exit记录;
exit
  • attach
<root@linux0 ~>$ docker attach 78eecc  #进入一个容器;
[root@78eecc51ac7e /]# exit   #退出时会被关闭;
exit
<root@linux0 ~>$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
78eecc51ac7e        centos              "/bin/bash"         20 minutes ago      Exited (0) 8 seconds ago                       practical_goldberg
  • export导出
<root@linux0 ~>$ docker export 78eecc5 > origin.tar  #导出为一个文件,需要import加载成镜像后再启动再进入使用;save命令是将镜像生成一个文件;
<root@linux0 ~>$ du -sh origin.tar  #文件比较大;
217M	origin.tar

pull文件存放位置

<root@linux0 /var/lib/docker/overlay2/79b37363423cef05bef93f096fe582d79c4316b608186bbe044d0eb574c53c94/diff>$ ls  #镜像文件里的类似linux系统的目录结构;
bin  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
<root@linux0 /var/lib/docker/overlay2/79b37363423cef05bef93f096fe582d79c4316b608186bbe044d0eb574c53c94/diff>$ docker pull centos   #新pull 一个centos镜像;
Using default tag: latest
latest: Pulling from library/centos
729ec3a6ada3: Pull complete 
Digest: sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
<root@linux0 /var/lib/docker/overlay2/79b37363423cef05bef93f096fe582d79c4316b608186bbe044d0eb574c53c94/diff>$ cd /var/lib/docker  #进入上层的镜像保存目录;
<root@linux0 /var/lib/docker>$ !du
du -sh ./*
16K	./builder
56K	./buildkit
0	./containers
1.4M	./image
52K	./network
488M	./overlay2   #放置镜像的位置;
0	./plugins
0	./runtimes
0	./swarm
0	./tmp
0	./trust
24K	./volumes
<root@linux0 /var/lib/docker>$ cd overlay2/
<root@linux0 /var/lib/docker/overlay2>$ ls
79b37363423cef05bef93f096fe582d79c4316b608186bbe044d0eb574c53c94  backingFsBlockDev
7d8064103fde98b9ae67f307d1900ec42852b674aec300503d2603f29ef40cf4  l
<root@linux0 /var/lib/docker/overlay2>$ !du
du -sh ./*
258M	./79b37363423cef05bef93f096fe582d79c4316b608186bbe044d0eb574c53c94  #镜像文件;
230M	./7d8064103fde98b9ae67f307d1900ec42852b674aec300503d2603f29ef40cf4  #镜像文件;
0	./backingFsBlockDev
0	./l
<root@linux0 /var/lib/docker/overlay2>$ du -sh 7d8064103fde98b9ae67f307d1900ec42852b674aec300503d2603f29ef40cf4/*
230M	7d8064103fde98b9ae67f307d1900ec42852b674aec300503d2603f29ef40cf4/diff  #主要保存目录;
4.0K	7d8064103fde98b9ae67f307d1900ec42852b674aec300503d2603f29ef40cf4/link
<root@linux0 /var/lib/docker/overlay2>$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
666                 latest              c03bf7daae51        22 minutes ago      249MB
centos              latest              0f3e07c0138f        3 months ago        220MB
<root@linux0 /var/lib/docker/overlay2>$ docker image ls #另一个查看镜像的命令;
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
666                 latest              c03bf7daae51        23 minutes ago      249MB
centos              latest              0f3e07c0138f        3 months ago        220MB

仓库管理

  • docker pull registry //下载registry 镜像,registy为docker官方提供的一个镜像,我们可以用它来创建本地的docker私有仓库。
  • docker run -d -p 5000:5000 registry //以registry镜像启动容器,-p会把容器的端口映射到宿主机上,:左边为宿主机监听端口,:右边为容器监听端口
  • curl 127.0.0.1:5000/v2/_catalog //可以访问它
  • 下面我们来把其中一个镜像上传到私有仓库
    docker tag aming_test 172.7.15.113:5000/centos //标记一下tag,必须要带有私有仓库的ip:port
  • docker push 172.7.15.113:5000/centos //把标记的镜像给推送到私有仓库
    此时并不会成功,错误信息Get https://172.7.15.113:5000/v2/: http: server gave HTTP response to HTTPS client
  • 更改配置文件,vi /etc/docker/daemon.json//更改为
    { “insecure-registries”:[“172.7.15.113:5000”] }
    systemctl restart docker
  • docker ps -a //查看容器已经关闭,还需要启动
    docker start id //这里的id为registry容器id
  • 再次push
    docker push 172.7.15.113:5000/centos
    curl 127.0.0.1:5001/v2/_catalog //可以查看到推送上来的镜像
  • 私有仓库示例
<root@linux0 ~>$ docker pull registry    #下载一个用于做仓库的镜像;
Using default tag: latest
latest: Pulling from library/registry
c87736221ed0: Pull complete 
1cc8e0bb44df: Pull complete 
54d33bcb37f5: Pull complete 
e8afc091c171: Pull complete 
b4541f6d3db6: Pull complete 
Digest: sha256:8004747f1e8cd820a148fb7499d71a76d45ff66bac6a29129bfdbfdc0154d146
Status: Downloaded newer image for registry:latest
docker.io/library/registry:latest
<root@linux0 ~>$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              0f3e07c0138f        3 months ago        220MB
registry            latest              f32a97de94e1        10 months ago       25.8MB
<root@linux0 ~>$ docker run -d -p 5000:5000 registry  #启动,-p让宿主机端口转发到容器端口;
4348279c542cc3170c4a91cc4e24052c6b792f9a780dabe92f1d8372f0cf6dfd
<root@linux0 ~>$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
4348279c542c        registry            "/entrypoint.sh /etc…"   51 seconds ago      Up 49 seconds       0.0.0.0:5000->5000/tcp   elegant_blackburn
<root@linux0 ~>$ docker tag centos 192.168.87.149:5000/centos   #标志要上传到仓库的镜像;
<root@linux0 ~>$ docker push !$  #上传;
docker push 192.168.87.149:5000/centos
The push refers to repository [192.168.87.149:5000/centos]   #没有使用https,传输不成功;
Get https://192.168.87.149:5000/v2/: http: server gave HTTP response to HTTPS client
<root@linux0 ~>$ vim /etc/docker/daemon.json #修改配置文件,内容如下;
{ "insecure-registries":["192.168.87.149:5000"] }
<root@linux0 ~>$ systemctl restart docker
<root@linux0 ~>$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
4348279c542c        registry            "/entrypoint.sh /etc…"   26 minutes ago      Exited (2) 10 seconds ago                       elegant_blackburn
78eecc51ac7e        centos              "/bin/bash"              3 hours ago         Exited (0) 7 minutes ago                        practical_goldberg
<root@linux0 ~>$ docker start 4348279   #重启仓库;
4348279
<root@linux0 ~>$ docker push 192.168.87.149:5000/centos   #上传;pull会把下载的官方镜像解压成镜像文件备用,push时会把这个镜像文件重新压缩放到仓库目录的相应位置里;由于是在压缩,所以上传速度不会很快;
The push refers to repository [192.168.87.149:5000/centos]
9e607bb861a7: Pushed 
latest: digest: sha256:6ab380c5a5acf71c1b6660d645d2cd79cc8ce91b38e0352cbf9561e050427baf size: 529
<root@linux0 ~>$ !curl   #查看仓库情况;
curl 127.0.0.1:5000/v2/_catalog
{"repositories":["centos"]}
  • 仓库里的压缩着的镜像文件
<root@linux0 ~>$ ll /var/lib/docker/volumes/265c0a0ac28510b3c5fab3ea5d474fd0a97191a4325715f61c6db1a0ff96c22b/_data/docker/registry/v2/blobs/sha256/72/729ec3a6ada3a6d26faca9b4779a037231f1762f759ef34c08bdd61bf52cd704/data   #volumes目录,另外也会生成很多其他相关文件;
-rw-r--r-- 1 root root 71522807 1月   7 23:14 /var/lib/docker/volumes/265c0a0ac28510b3c5fab3ea5d474fd0a97191a4325715f61c6db1a0ff96c22b/_data/docker/registry/v2/blobs/sha256/72/729ec3a6ada3a6d26faca9b4779a037231f1762f759ef34c08bdd61bf52cd704/data
  • 从仓库pull镜像
<root@linux0 ~>$ docker images  #镜像情况;
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
192.168.87.149:5000/centos   latest              0f3e07c0138f        3 months ago        220MB
centos                       latest              0f3e07c0138f        3 months ago        220MB
registry                     latest              f32a97de94e1        10 months ago       25.8MB
<root@linux0 ~>$ docker rmi centos:latest #删除镜像;这个只是删除链接;
Untagged: centos:latest
Untagged: centos@sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9
<root@linux0 ~>$ docker rmi 0f3e07c  #删除镜像文件;
Untagged: 192.168.87.149:5000/centos:latest
Untagged: 192.168.87.149:5000/centos@sha256:6ab380c5a5acf71c1b6660d645d2cd79cc8ce91b38e0352cbf9561e050427baf
Deleted: sha256:0f3e07c0138fbe05abcb7a9cc7d63d9bd4c980c3f61fea5efa32e7c4217ef4da
Deleted: sha256:9e607bb861a7d58bece26dd2c02874beedd6a097c1b6eca5255d5eb0d2236983
<root@linux0 ~>$ docker images   #只剩仓库了;
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
registry            latest              f32a97de94e1        10 months ago       25.8MB
<root@linux0 ~>$ docker pull 192.168.87.149:5000/centos   #从仓库下载库;会把压缩的镜像文件解压备用;
Using default tag: latest
latest: Pulling from centos
729ec3a6ada3: Pull complete #此文件名也是保存的目录名字;
Digest: sha256:6ab380c5a5acf71c1b6660d645d2cd79cc8ce91b38e0352cbf9561e050427baf
Status: Downloaded newer image for 192.168.87.149:5000/centos:latest
192.168.87.149:5000/centos:latest
<root@linux0 ~>$ docker images   #新的镜像情况;
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
192.168.87.149:5000/centos   latest              0f3e07c0138f        3 months ago        220MB
registry                     latest              f32a97de94e1        10 months ago       25.8MB

Docker 数据管理

  1. 挂载本地的目录到容器里
    docker run -tid -v /data/:/data centos bash //-v 用来指定挂载目录,:前面的/data/为宿主机本地目录,:后面的
    /data/为容器里的目录,会在容器中自动创建
  2. 挂载数据卷
    其实我们挂载目录的时候,可以指定容器name,如果不指定就随机定义了。比如上面我们没有指定,它就生成了一个名>字为relaxed_franklin,这个名字可以使用命令 docker ps 看最右侧一列
    docker run -itd --volumes-from relaxed_franklin aming123 bash
    这样,我们使用aming123镜像创建了新的容器,并且使用了 relaxed_franklin 容器的数据卷
  • 与宿主机的目录同步,并可分享给其他容器
<root@linux0 ~>$ docker run -tid -v /data/:/data centos bash   #新建容器与宿主机的/data目录同步;
c4d17b70d13a54acc266fd3b1cb7163d52d49b658ef858506dc686ccde4a1a88
<root@linux0 ~>$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
c4d17b70d13a        centos              "bash"                   4 seconds ago       Up 3 seconds                                 jovial_raman
11ccf36436e6        registry            "/entrypoint.sh /etc…"   2 hours ago         Up 2 hours          0.0.0.0:5000->5000/tcp   unruffled_wilson
<root@linux0 ~>$ docker run -itd --volumes-from jovial_raman centos bash  #新建容器并从此容器继承与宿主机同步的数据;
8a3baa8cdc1d57da52f0402e94e1c179c85021b9aaf76a09cf5a4f7a29dcb47a
<root@linux0 ~>$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
8a3baa8cdc1d        centos              "bash"                   13 seconds ago      Up 12 seconds                                wonderful_tereshkova
c4d17b70d13a        centos              "bash"                   3 minutes ago       Up 3 minutes                                 jovial_raman
11ccf36436e6        registry            "/entrypoint.sh /etc…"   2 hours ago         Up 2 hours          0.0.0.0:5000->5000/tcp   unruffled_wilson
<root@linux0 ~>$ docker exec -it 8a3baa8  bash
[root@8a3baa8cdc1d /]# ls /data/   #与宿主机一样,也与jovial_raman容器一样;
backup	backup2  err.log  git  logs  mysql  mysql.bak  redis_data  svnroot  syny  wwwroot
  • Dockerfile生成一个目录用于与子容器分享数据
<root@linux0 ~>$ cat Dockerfile  #新建Dockerfile;
FROM centos   #镜像模板;
VOLUME ["/data1"]   #共享目录设置;
<root@linux0 ~>$ docker build -t juan0:1 -f ./Dockerfile .  #以Dockfile建立镜像,-f指定文件路径,-t标签(必要);
Sending build context to Docker daemon  2.414GB
Step 1/2 : FROM centos
 ---> 0f3e07c0138f
Step 2/2 : VOLUME ["/data1"]
 ---> Running in 7556a39729da
Removing intermediate container 7556a39729da
 ---> 44064520ce05
Successfully built 44064520ce05
Successfully tagged juan0:1
<root@linux0 ~>$ docker images  #查看镜像;
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
juan0                        1                   44064520ce05        11 seconds ago      220MB
192.168.87.149:5000/centos   latest              0f3e07c0138f        3 months ago        220MB
centos                       latest              0f3e07c0138f        3 months ago        220MB
registry                     latest              f32a97de94e1        10 months ago       25.8MB
<root@linux0 ~>$ docker run -itd juan0:1 bash   #使用镜像建立容器;
7b81b7cf79d799b4225973de3f6a2ee113e9425e92c65ca1ed51b784f2677d3a
<root@linux0 ~>$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
7b81b7cf79d7        juan0:1             "bash"                   6 seconds ago       Up 6 seconds                                 priceless_wescoff
11ccf36436e6        registry            "/entrypoint.sh /etc…"   3 hours ago         Up 3 hours          0.0.0.0:5000->5000/tcp   unruffled_wilson  
<root@linux0 ~>$ docker exec -it 7b81b7cf  bash    #使用容器,分隔只用一个空格,多余空格也会有问题;
[root@7b81b7cf79d7 /]# ls
bin  data1  dev  etc  home  lib  lib64	lost+found  media  mnt	opt  proc  root  run  sbin  srv  sys  tmp  usr	var
[root@7b81b7cf79d7 /]# cd data1/   #进入数据卷;
[root@7b81b7cf79d7 data1]# touch testsharing   #新建文件;
[root@7b81b7cf79d7 data1]# ls
testsharing
<root@linux0 ~>$ docker run --name juan1 -itd --volumes-from priceless_wescoff centos /bin/bash   #新建容器继承数据卷的数据,创建容器时还可以选择不同的镜像(这里是centos);
68143da08c49238f76fa3da49ff2789673501d6d03a1f51b18b2a30f36511114
<root@linux0 ~>$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
68143da08c49        centos              "/bin/bash"              8 seconds ago       Up 7 seconds                                 juan1
7b81b7cf79d7        juan0:1             "bash"                   5 minutes ago       Up 5 minutes                                 priceless_wescoff
11ccf36436e6        registry            "/entrypoint.sh /etc…"   3 hours ago         Up 3 hours          0.0.0.0:5000->5000/tcp   unruffled_wilson
<root@linux0 ~>$ docker exec -it 68143d  bash   #进入容器;
[root@68143da08c49 /]# ls
bin  data1  dev  etc  home  lib  lib64	lost+found  media  mnt	opt  proc  root  run  sbin  srv  sys  tmp  usr	var
[root@68143da08c49 /]# ls data1/   #查看文件;
testsharing

数据卷的备份与恢复

  • 此情况是容器分享的目录并没有与容主机目录同步,只在容器间同步
  • 备份
<root@linux0 ~>$ docker run --name juanbk -itd --volumes-from priceless_wescoff -v /dockerbk/:/dockerbk centos tar cvf /dockerbk/data1.tar /data1/  #设置接上,新建一个容器继承数据卷容器,并与宿主机一个目录同步,把数据卷的内容放置到目录里,让宿主机备份到内容;
d6fdd89bf4954e2f53532e77f72c578b707fefe4e6fe4217b0c7986b3bf7ac1b
<root@linux0 ~>$ ls /dockerbk/   #宿主机已收到内容;
data1.tar
<root@linux0 ~>$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                    NAMES
d6fdd89bf495        centos              "tar cvf /dockerbk/d…"   20 minutes ago      Exited (0) 20 minutes ago                            juanbk      
68143da08c49        centos              "/bin/bash"              10 hours ago        Up 10 hours                                          juan1
7b81b7cf79d7        juan0:1             "bash"                   10 hours ago        Up 10 hours                                          priceless_wescoff
11ccf36436e6        registry            "/entrypoint.sh /etc…"   12 hours ago        Up 12 hours                 0.0.0.0:5000->5000/tcp   unruffled_wilson
  • 恢复
<root@linux0 ~>$ docker run -itd -v /dockerbk/:/dockerbk juan0:1 mv /dockerbk/* /data1/ #建立新的数据卷容器,与宿主机备份目录同步,另外使用Dockfile的镜像(实现分享数据);把备份数据转移到数据卷里;
f3fc5bc8df255a3762bb9eab291c4e9e374923ce12b85ff2e48da2cfe8cb6a00
<root@linux0 ~>$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                    NAMES
f3fc5bc8df25        juan0:1             "mv /dockerbk/data1.…"   21 seconds ago      Exited (0) 21 seconds ago                            ecstatic_golick
d6fdd89bf495        centos              "tar cvf /dockerbk/d…"   20 minutes ago      Exited (0) 20 minutes ago                            juanbk
68143da08c49        centos              "/bin/bash"              10 hours ago        Up 10 hours                                          juan1
7b81b7cf79d7        juan0:1             "bash"                   10 hours ago        Up 10 hours                                          priceless_wescoff
11ccf36436e6        registry            "/entrypoint.sh /etc…"   12 hours ago        Up 12 hours                 0.0.0.0:5000->5000/tcp   unruffled_wilson
<root@linux0 ~>$ docker run --name huifu -itd --volumes-from ecstatic_golick centos /bin/bash   #创建使用数据的容器;继承新的数据卷的内容;
03ff844e1c12b30d44947a3eb5265a6d88578a8b9c6042ab8915969e58d97130
<root@linux0 ~>$ docker exec -it 03ff844e1  bash   #进入容器;
[root@03ff844e1c12 /]# ls /data1/  #带有数据,但是还需要手动解压,可以优化备份过程,直接移动而不压缩;
data1.tar
[root@03ff844e1c12 /]# cd /data1/
[root@03ff844e1c12 data1]# tar xf data1.tar 
[root@03ff844e1c12 data1]# mv data1/* ./ 
[root@03ff844e1c12 data1]# ls
data1  data1.tar  testsharing
发布了125 篇原创文章 · 获赞 5 · 访问量 4602

猜你喜欢

转载自blog.csdn.net/tanyyinyu/article/details/103879297