Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Docker
ESP8266
[Docker]容器数据卷
发布于 2021-09-16 09:50:32 浏览:1200
订阅该版
[tocm] ## 容器数据卷 ### 什么是容器数据卷 docker是要将应用和环境打包成一个镜像 这样,数据就不应该在容器中,否则容器删除,数据就会丢失,同时,如果将数据放到容器内,做镜像打包的时候镜像就会非常大,这和docker追求的快背道而驰,同时如果有多个容器都要访问同一个数据,那么不可能将这些数据拷贝到每个容器内。 故容器之间要有一个数据共享技术 在Docker容器中产生的数据,同步到本地,这就是卷技术 本质上是一个目录挂载,将容器内的目录挂载到虚拟机上 ![image-20200618162917672](https://main.qcloudimg.com/raw/63a68c7f41d6b53114c6a328718965c6.png) 目的:容器的持久化和同步操作 **容器间可以数据共享** ### 使用数据卷 直接使用命令来挂载。 ```shell docker run -it -v -p # -it 交互式进入 # -v volume卷技术 主机路径:容器路径 # -p 主机端口 docker run -it -v /home/docker_test/:/home/ centos /bin/bash # 本地主机的/home/docker_test/里的内容: [root@VM-87-165-centos /home/docker_test/lesson1/dynreg_demo]# ls /home/docker_test/ lesson1 xtensa-lx106-elf xtensa-lx106-elf-linux64-1.22.0-92-g8facf4c-5.2.0.tar.gz 开发者训练营设备端直播提纲.xmind # centos容器里的内容 [root@df1dfb388b94 home]# ls lesson1 xtensa-lx106-elf-linux64-1.22.0-92-g8facf4c-5.2.0.tar.gz xtensa-lx106-elf ''$'\345\274\200\345\217\221\350\200\205\350\256\255\347\273\203\350\220\245\350\256\276\345\244\207\347\253\257\347\233\264\346\222\255\346\217\220\347\272\262''.xmind' [root@df1dfb388b94 home]# # 使用docker inspect 容器id命令来看一下挂载情况 [root@VM-87-165-centos /home/docker_test/lesson1/dynreg_demo]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES df1dfb388b94 centos "/bin/bash" 8 minutes ago Up 7 minutes optimistic_mayer [root@VM-87-165-centos /home/docker_test/lesson1/dynreg_demo]# docker inspect df1dfb388b94 [ "Mounts": [ { "Type": "bind", "Source": "/home/docker_test", "Destination": "/home", "Mode": "", "RW": true, "Propagation": "rprivate" } ], ] [root@VM-87-165-centos /home/docker_test/lesson1/dynreg_demo]# ``` 容器停止后,修改主机文件,再启动容器的时候,数据同样改变 **双向同步** ### ESP8266编译环境实战 ```shell # 1. 首先将编译工具链拷贝到/opt/toolchain目录下 [root@df1dfb388b94 home]# mkdir /opt/toolchain [root@df1dfb388b94 home]# cp xtensa-lx106-elf /opt/toolchain/ -r [root@df1dfb388b94 home]# ls /opt/toolchain/ xtensa-lx106-elf [root@df1dfb388b94 home]# # 2. 然后安装编译所需要的所有工具集 [root@df1dfb388b94 home]# yum install -y gcc git wget make ncurses-devel flex bison python36 gcc-c++ # 安装完成 Installed: bison-3.0.4-10.el8.x86_64 cpp-8.4.1-1.el8.x86_64 emacs-filesystem-1:26.1-5.el8.noarch flex-2.6.1-9.el8.x86_64 gcc-8.4.1-1.el8.x86_64 git-2.27.0-1.el8.x86_64 git-core-2.27.0-1.el8.x86_64 git-core-doc-2.27.0-1.el8.noarch glibc-devel-2.28-151.el8.x86_64 glibc-headers-2.28-151.el8.x86_64 glibc-langpack-en-2.28-151.el8.x86_64 groff-base-1.22.3-18.el8.x86_64 isl-0.16.1-6.el8.x86_64 kernel-headers-4.18.0-305.17.1.el8_4.x86_64 libedit-3.1-23.20170329cvs.el8.x86_64 libgomp-8.4.1-1.el8.x86_64 libmpc-1.1.0-9.1.el8.x86_64 libpkgconf-1.4.2-1.el8.x86_64 libpsl-0.20.2-6.el8.x86_64 libxcrypt-devel-4.1.1-4.el8.x86_64 m4-1.4.18-7.el8.x86_64 make-1:4.2.1-10.el8.x86_64 ncurses-6.1-7.20180224.el8.x86_64 ncurses-c++-libs-6.1-7.20180224.el8.x86_64 ncurses-devel-6.1-7.20180224.el8.x86_64 openssh-8.0p1-6.el8_4.2.x86_64 openssh-clients-8.0p1-6.el8_4.2.x86_64 perl-Carp-1.42-396.el8.noarch perl-Encode-4:2.97-3.el8.x86_64 perl-Errno-1.28-419.el8_4.1.x86_64 perl-Error-1:0.17025-2.el8.noarch perl-Exporter-5.72-396.el8.noarch perl-File-Path-2.15-2.el8.noarch perl-File-Temp-0.230.600-1.el8.noarch perl-Getopt-Long-1:2.50-4.el8.noarch perl-Git-2.27.0-1.el8.noarch perl-HTTP-Tiny-0.074-1.el8.noarch perl-IO-1.38-419.el8_4.1.x86_64 perl-IO-Socket-IP-0.39-5.el8.noarch perl-MIME-Base64-3.15-396.el8.x86_64 perl-Mozilla-CA-20160104-7.module_el8.3.0+416+dee7bcef.noarch perl-PathTools-3.74-1.el8.x86_64 perl-Pod-Escapes-1:1.07-395.el8.noarch perl-Pod-Perldoc-3.28-396.el8.noarch perl-Pod-Simple-1:3.35-395.el8.noarch perl-Pod-Usage-4:1.69-395.el8.noarch perl-Scalar-List-Utils-3:1.49-2.el8.x86_64 perl-Socket-4:2.027-3.el8.x86_64 perl-Storable-1:3.11-3.el8.x86_64 perl-Term-ANSIColor-4.06-396.el8.noarch perl-Term-Cap-1.17-395.el8.noarch perl-TermReadKey-2.37-7.el8.x86_64 perl-Text-ParseWords-3.30-395.el8.noarch perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch perl-Time-Local-1:1.280-1.el8.noarch perl-Unicode-Normalize-1.25-396.el8.x86_64 perl-constant-1.33-396.el8.noarch perl-interpreter-4:5.26.3-419.el8_4.1.x86_64 perl-libs-4:5.26.3-419.el8_4.1.x86_64 perl-macros-4:5.26.3-419.el8_4.1.x86_64 perl-parent-1:0.237-1.el8.noarch perl-podlators-4.11-1.el8.noarch perl-threads-1:2.21-2.el8.x86_64 perl-threads-shared-1.58-2.el8.x86_64 pkgconf-1.4.2-1.el8.x86_64 pkgconf-m4-1.4.2-1.el8.noarch pkgconf-pkg-config-1.4.2-1.el8.x86_64 platform-python-pip-9.0.3-19.el8.noarch publicsuffix-list-dafsa-20180723-1.el8.noarch python3-pip-9.0.3-19.el8.noarch python3-setuptools-39.2.0-6.el8.noarch python36-3.6.8-2.module_el8.4.0+790+083e3d81.x86_64 wget-1.19.5-10.el8.x86_64 Complete! # 3. 导入IDF_PATH [root@df1dfb388b94 ESP8266_RTOS_SDK]# pwd /home/esp8266/ESP8266_RTOS_SDK [root@df1dfb388b94 ESP8266_RTOS_SDK]# export IDF_PATH=/home/esp8266/ESP8266_RTOS_SDK [root@df1dfb388b94 ESP8266_RTOS_SDK]# # 4.设置编译工具链位置 [root@df1dfb388b94 ESP8266_RTOS_SDK]# ls /opt/toolchain/xtensa-lx106-elf/bin xtensa-lx106-elf-addr2line xtensa-lx106-elf-c++filt xtensa-lx106-elf-gcc xtensa-lx106-elf-gcov xtensa-lx106-elf-ld.bfd xtensa-lx106-elf-readelf xtensa-lx106-elf-ar xtensa-lx106-elf-cpp xtensa-lx106-elf-gcc-5.2.0 xtensa-lx106-elf-gcov-tool xtensa-lx106-elf-nm xtensa-lx106-elf-size xtensa-lx106-elf-as xtensa-lx106-elf-ct-ng.config xtensa-lx106-elf-gcc-ar xtensa-lx106-elf-gdb xtensa-lx106-elf-objcopy xtensa-lx106-elf-strings xtensa-lx106-elf-c++ xtensa-lx106-elf-elfedit xtensa-lx106-elf-gcc-nm xtensa-lx106-elf-gprof xtensa-lx106-elf-objdump xtensa-lx106-elf-strip xtensa-lx106-elf-cc xtensa-lx106-elf-g++ xtensa-lx106-elf-gcc-ranlib xtensa-lx106-elf-ld xtensa-lx106-elf-ranlib [root@df1dfb388b94 ESP8266_RTOS_SDK]# export PATH=$PATH:/opt/toolchain/xtensa-lx106-elf/bin [root@df1dfb388b94 ESP8266_RTOS_SDK]# # 5. 安装漏网的pyserial pip3 install pyserial # 6. 安装gperf 由于无法使用yum install gperf 来安装,所以只能使用源码安装的方式 # 具体的安装教程请参考 http://blog.fpliu.com/it/software/GNU/gperf/build-for-current-host # 7. 直接编译工程 make -j8 all # 当看到如下信息时,表示已经完成编译 LD build/esp8266-qcloud-iot.elf esptool.py v2.4.0 To flash all build output, run 'make flash' or: python /home/esp8266/ESP8266_RTOS_SDK/components/esptool_py/esptool/esptool.py --chip esp8266 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size 4MB 0x0000 /home/lesson1/dynreg_demo/build/bootloader/bootloader.bin 0x10000 /home/lesson1/dynreg_demo/build/esp8266-qcloud-iot.bin 0x8000 /home/lesson1/dynreg_demo/build/partitions_qcloud_demo.bin [root@df1dfb388b94 dynreg_demo]# [root@df1dfb388b94 dynreg_demo]# [root@df1dfb388b94 dynreg_demo]# # 查看主机目录下是否已经生成可执行文件 [root@VM-87-165-centos /home/docker_test/lesson1/dynreg_demo/build]# ls app_update coap espos include main partitions_qcloud_demo.bin spiffs vfs aws_iot esp8266 esp-tls jsmn mdns partition_table spi_flash wpa_supplicant bootloader esp8266-qcloud-iot.bin esptool_py libsodium mqtt pthread ssl bootloader_support esp8266-qcloud-iot.elf freertos log newlib qcloud_iot tcpip_adapter cjson esp8266-qcloud-iot.map heap lwip nvs_flash smartconfig_ack util [root@VM-87-165-centos /home/docker_test/lesson1/dynreg_demo/build]# ```
3
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
静静流淌的柯溪
这家伙很懒,什么也没写!
文章
2
回答
36
被采纳
1
关注TA
发私信
相关文章
1
关于ESP8266的配网
2
at device跑esp8266, 总是提示缓冲区不够,应该怎么解决?
3
at device跑esp8266提示连接超时
4
ESP8266 连接问题
5
AT组件配网问题 ESP8266微信配网
6
请问一下esp8266能在at指令组件下支持ap模式吗
7
esp8266用paho-mqtt出现溢出
8
ONENET+esp8266连接报错
9
ESP8266通过smartconfig配网?
10
esp8266 WiFi名设成中文后 打不开RT_Thread Settings
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
YZRD
2
篇文章
3
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部