当前位置: 首页 > news >正文

四川网站建设scyiyou计算机培训机构

四川网站建设scyiyou,计算机培训机构,网站备案 价格,wordpress支持主机一、数据管理 容器中的管理数据主要有两种方式: 数据卷 (Data Volumes): 容器内数据直接映射到本地主机环境; 数据 卷容器( Data Volume Containers): 使用特定容器维护数据卷 1.…

一、数据管理

容器中的管理数据主要有两种方式:

        数据卷 (Data Volumes): 容器内数据直接映射到本地主机环境;
        数据 卷容器( Data Volume Containers): 使用特定容器维护数据卷

1.数据卷

数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于 Linux 下对目录进行的 mount 操作

除了使用 volume 子命令来管理数据卷外,还可以在创建容器时主机的任意路径 挂载到容器内作为数据卷,这种形式创建的数据卷称为绑定数据卷。在用 docker [container] run命令的时候,可以使用 mount 选项来使用数据卷。 mount 项支持三种类型的数据卷,包括

  • volume: 普通数据卷,映射到主机var/ lib /docke /volumes径下
  • bind :绑定数据卷,映射到主机指定路径下;
  •  tmpfs :临时数据卷,只存在于内存中

绑定数据卷:如果挂载的路径在宿主机上不存在,Docker 会自动创建该路径。

#创建一个 web1 容器作为数据卷容器

[root@Docker ~]# docker run --name web1 -v /var/www:/test1 -it centos:7 /bin/b[root@a89b95b269bc /]# ls
anaconda-post.log  dev  home  lib64  mnt  proc  run   srv  test1  usr
bin                etc  lib   media  opt  root  sbin  sys  tmp    var
[root@a89b95b269bc /]# echo "I am test1" >/test1/haha.txt
[root@a89b95b269bc /]# exit
exit

这里宿主机上的 /var/www 目录不存在,Docker 则会自动创建这个目录 (但仅限于是目录,不是文件,否则会报错)

#返回宿主机检查 

2.数据卷容器

  如果需要在容器之间共享一些数据,最简单的方法就是使用数据卷容器。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用

#创建一个 web2 容器作为数据卷容器

[root@Docker ~]# docker run --name web2 -v /test1 -v /test2 -it centos:7 /bin/bash
[root@ce3ce76e3b7c /]# ls
anaconda-post.log  dev  home  lib64  mnt  proc  run   srv  test1  tmp  var
bin                etc  lib   media  opt  root  sbin  sys  test2  usr
[root@ce3ce76e3b7c /]# echo "this is test1" >/test1/haha.txt
[root@ce3ce76e3b7c /]# echo "this is test2" >/test2/haha.txt
[root@ce3ce76e3b7c /]# exit
exit

#使用  --volumes-from 来挂载 web2 容器中的数据卷到新的容器中

[root@Docker ~]# docker run -it --volumes-from web2 --name web3 centos:7 /bin/bash
[root@049bca80ec53 /]# ls
anaconda-post.log  dev  home  lib64  mnt  proc  run   srv  test1  tmp  var
bin                etc  lib   media  opt  root  sbin  sys  test2  usr
[root@049bca80ec53 /]# cat /test1/haha.txt 
this is test1
[root@049bca80ec53 /]# cat /test2/haha.txt 
this is test2

3. 利用数据卷容器来迁移数据

可以利用数据卷容器对其中的数据卷进行备份、恢复,以实现数据的迁移

#备份 web1 数据卷

# 建立容器并指定使用卷到要备份的容器
[root@Docker ~]# docker run --volumes-from web1 \
-v $(pwd):/backup --name woker1 centos:7 \	# 把当前目录挂载到容器中用于保存备份数据
tar zcf /backup/backup.tar /test1		# 备份数据到本地#验证备份文件
[root@Docker ~]# tar -tvf backup.tar 
drwxr-xr-x root/root         0 2025-03-04 15:44 test1/
-rw-r--r-- root/root        11 2025-03-04 17:49 test1/haha.txt

#传送备份文件到目标服务器

[root@Docker ~]# scp backup.tar 192.168.8.164:~
root@192.168.8.164's password: 
backup.tar                       100%   10KB   7.2MB/s   00:00   

#数据恢复

[root@centos ~]# docker run --rm --volumes-from new_web -v $(pwd):/backup centos:7 \
>   bash -c "mkdir -p /data && tar xvf /backup/backup.tar -C /data -m -p"
test1/
test1/haha.txt
[root@centos ~]# 

二、端口映射

  • 在启动容器的时候,如果不指定对应的端口,在容器外是无法通过网络来访问容器内的服务。端口映射机制将容器内的服务提供给外部网络访问,实质上就是将宿主机的端口映射到容器中,使得外部网络访问宿主机的端口便可访问容器内的服务。
  • 当容器中运行一些网络应用, 要让外部访问这些应用时, 可以通过-P或-p参数来指
    定端口映射。 当使用-P(大写的)标记时, Docker 随机映射一个   端口 到内部容器开放的网络端口。 -p (小写的)则可以指定要映射的端口,并且,在一个指定端口上只可以绑定 一个容器。
    [root@Docker ~]# docker ps -a
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
    [root@Docker ~]# docker run -d --name test1 -P nginx  #随机映射
    16956ad6da7386eb6f21dcaeed06ee8e7b479886cc6984ebc1c2fb361a52aed1
    [root@Docker ~]# docker ps -a
    CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                     NAMES
    16956ad6da73   nginx     "/docker-entrypoint.…"   6 seconds ago   Up 6 seconds   0.0.0.0:32768->80/tcp, :::32768->80/tcp   test1
    [root@Docker ~]# docker run -d --name test2 -p 43000:80 nginx   #指定映射端口43000
    81231f9db339425c0a4afea3f3790c3e9ff6445c564433779ee2cd0b477f0c38
    [root@Docker ~]# docker ps -a
    CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                     NAMES
    81231f9db339   nginx     "/docker-entrypoint.…"   2 seconds ago    Up 1 second     0.0.0.0:43000->80/tcp, :::43000->80/tcp   test2
    16956ad6da73   nginx     "/docker-entrypoint.…"   39 seconds ago   Up 39 seconds   0.0.0.0:32768->80/tcp, :::32768->80/tcp   test1
    

然后浏览器访问 http://192.168.8.161:43000 和 http://192.168.8.161:32768 进行测试。

三、容器互联

容器的互联(linking)是一种让多个容器中的应用进行快速交互的方式。它会在源和接收容 器之间创建连接关系,接收容器可以通过容器名快速访问到源容器,而不用指定具体的IP地址。
使用--link参数可以让容器之间安全地进行交互。
下面先创建一个新的数据库db 源容器:
[root@Docker ~]# docker run -itd -P --name db centos:7 /bin/bash
114734f78edf70847a8bc53686d1544e30e189c9bd7426a26141aedfaae55d51
然后创建一个新的web容器,并将它连接到db容器:
[root@Docker ~]# docker run -itd -P --name web --link db:db centos:7 /bin/bash
355dba6decddaf989fbd5e91813f91b09057801db3bf403a0b0060136e6d1a21
#进入到web容器,然后ping db
[root@Docker ~]# docker exec -it web bash
[root@355dba6decdd /]# ping db
--link 参数的格式为 --link name: alias, 其中name是要链接的容器的名称 , alias是别名。

http://www.cadmedia.cn/news/15591.html

相关文章:

  • 东莞企业高端网站建设自建站seo如何做
  • 平板购物网站建设搜索引擎seo如何优化
  • 云南省建设工程信息网汽车seo是什么意思
  • 建设网站 宣传平台最近三天的国内新闻
  • 线上兼职的正规网站广告优化师怎么学
  • 黑龙江 网站建设源码网站
  • 室内设计者联盟官网优化网站页面
  • 嘉兴网站建设多少钱挖掘关键词爱站网
  • 厦门酒店团购网站建设可以下载新闻视频的网站
  • 河北省建设资格执业中心网站网络营销都有哪些方法
  • 建设工程监理考试网站专业培训
  • 华为网站建设方案模板下载网络推广免费网站
  • css怎么做网站菜单怎么注册一个网站
  • 如何增加网站权重宁波seo优化公司
  • 成都网站排名百度关键词搜索推广
  • 万户高端网站建设广告投放
  • 咸宁手机网站建设鄞州seo服务
  • wordpress安卓下载如何做网站推广及优化
  • 徐州做网站公司公司品牌宣传方案
  • 省建设厅网站6seo网络优化师
  • 网站建设百度资源软文广告500字
  • 网站上的小动画咋做怎么开展网络营销推广
  • 网页微博怎么切换账号seo发包技术教程
  • 免费的ppt模板下载百度seo软件曝光行者seo
  • 求个网站急急急百度长尾关键词挖掘工具
  • 网站建设域名和空间知名网络营销推广
  • 上海网站建设公司网厦门seo计费
  • 佛山电子商务网站建设百度搜索网站
  • 统计局网站建设优化大师免费安装下载
  • 无锡网络营销平台郑州网站关键词优化公司哪家好