container.put_archive
时间: 2024-09-10 14:23:57 浏览: 76
`container.put_archive` 是Docker中的一项功能,用于将目录内容作为tar归档文件上传到指定的容器卷(Container Volume)。这个操作通常在需要持久化数据或者想要更新容器内的配置、文件结构时使用。当你运行 `docker put-archive` 命令时,你需要提供以下几个关键参数:
1. 容器ID或名称 (`CONTAINER_ID` 或 `CONTAINER_NAME`):目标容器的标识符。
2. 卷路径 (`VOLUME_PATH`): 指定在容器内部的卷上要保存归档文件的位置。
3. 归档文件路径 (`ARCHIVE_PATH`): 本地主机上的归档文件路径。
命令的基本格式通常是这样的:
```
docker put-archive CONTAINER_ID VOLUME_PATH LOCAL_ARCHIVE_PATH
```
例如:
```sh
docker put-archive my_container /data backup.tar.gz
```
这会把 `backup.tar.gz` 文件的内容解压到 `my_container` 中的 `/data` 卷下。
相关问题
with basic_data as ( select * from (select c.wha_container_code wha_container_code,c.ins_carrier_code ins_carrier_code,'换装' type from ship_dock_supervision_record_detail c left join ship_dock_supervision_record a on c.dock_supervision_record_id = a.id left join ship_situation b on a.ship_situation_id = b.id where b.document_id = 1661945853862719489 group by c.id order by cast(SUBSTRING_INDEX(c.wha_number,"-",1) as decimal)) aa union all select * from (select a.transportation_tool_no wha_container_code,a.seal_no ins_carrier_code,'原柜' type from `storage`.sto_outbound_loading a left join ship_situation b on a.outbound_id = b.ship_transport_notice_id where b.document_id = 1661945853862719489 and a.transportation_tool_type = 2) bb ) select (@i:=@i+1) AS 'xh',ifnull(max(basic_data.wha_container_code),'TBA') wha_container_code,ifnull(max(basic_data.ins_carrier_code),'TBA') ins_carrier_code from basic_data,(SELECT @i:=0) AS itable where FIND_IN_SET(type,'换装') mysql如何让这句sql,查询不到数据时所有列显示为tba
可以使用IFNULL函数和LEFT JOIN语句来实现。具体语句如下:
```
SELECT (@i:=@i+1) AS 'xh', IFNULL(basic_data.wha_container_code, 'TBA') AS wha_container_code, IFNULL(basic_data.ins_carrier_code, 'TBA') AS ins_carrier_code
FROM (SELECT * FROM
(SELECT c.wha_container_code wha_container_code, c.ins_carrier_code ins_carrier_code, '换装' type
FROM ship_dock_supervision_record_detail c
LEFT JOIN ship_dock_supervision_record a ON c.dock_supervision_record_id = a.id
LEFT JOIN ship_situation b ON a.ship_situation_id = b.id
WHERE b.document_id = 1661945853862719489
GROUP BY c.id
ORDER BY CAST(SUBSTRING_INDEX(c.wha_number,"-",1) AS DECIMAL)) aa
UNION ALL
SELECT * FROM
(SELECT a.transportation_tool_no wha_container_code, a.seal_no ins_carrier_code, '原柜' type
FROM `storage`.sto_outbound_loading a
LEFT JOIN ship_situation b ON a.outbound_id = b.ship_transport_notice_id
WHERE b.document_id = 1661945853862719489 AND a.transportation_tool_type = 2) bb ) basic_data
LEFT JOIN (SELECT @i:=0) AS itable
WHERE FIND_IN_SET(type, '换装')
```
这里使用了LEFT JOIN将basic_data表连接到一个虚拟表,虚拟表中只有一个变量@i,用于生成行号。IFNULL函数用于在查询结果为空时将列值替换为'TBA'。
class InventoryApp: def init(self, master): self.master = master master.title("物料进出库统计") self.master.state('zoomed') # 窗口最大化 # 创建左侧面板 self.container = tk.Frame(master) self.container.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 创建左上方面板 self.container_top = tk.Frame(self.container) self.container_top.pack(side=tk.TOP, fill=tk.BOTH, expand=True) # 创建左下方面板 self.container_bottom = tk.Frame(self.container) self.container_bottom.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=True)# 打开Excel文件 self.wb = openpyxl.load_workbook(r"C:\Users\bing3_chen\Desktop\1.xlsx") self.record_sheet = self.wb["記錄"] self.data_sheet = self.wb["數據"]self.label6 = ttk.Label(self.container_bottom, text="品名:") self.label6.grid(row=5, column=0, padx=5, pady=5) self.material_qty6 = ttk.Combobox(self.container_bottom, values=[]) self.material_qty6.grid(row=5, column=1, padx=5, pady=5)self.label8 = ttk.Label(self.container_bottom, text="单价:") self.label8.grid(row=7, column=0, padx=5, pady=5) ling2= [''] self.material_qty8 = ttk.Combobox(self.container_bottom, values=ling2) self.material_qty8.grid(row=7, column=1, padx=5, pady=5) self.material_qty8.current(0)根據品名輸入框中的内容去獲取excel表名為數據的第4列相同内容的第6列對應的内容自動寫入單價輸入框中
您需要在品名输入框中绑定一个事件,当输入框中的内容发生变化时,触发事件。事件处理函数中,您可以使用openpyxl库读取Excel文件,找到表名为“数据”的第四列与品名输入框中的值相同的行,然后获取该行第六列的值,自动填入单价输入框中。以下是一个示例代码:
```
import openpyxl
class InventoryApp:
def __init__(self, master):
# 窗口初始化和界面布局
...
# 打开Excel文件
self.wb = openpyxl.load_workbook(r"C:\Users\bing3_chen\Desktop\1.xlsx")
self.record_sheet = self.wb["記錄"]
self.data_sheet = self.wb["數據"]
# 品名输入框和单价输入框
self.material_qty6 = ttk.Combobox(self.container_bottom, values=[])
self.material_qty6.grid(row=5, column=1, padx=5, pady=5)
self.material_qty6.bind("<<ComboboxSelected>>", self.get_price)
self.material_qty8 = ttk.Combobox(self.container_bottom, values=[''])
self.material_qty8.grid(row=7, column=1, padx=5, pady=5)
self.material_qty8.current(0)
def get_price(self, event):
# 获取品名输入框中的值
material_name = self.material_qty6.get()
# 在“数据”表中查找品名对应的行
for row in self.data_sheet.iter_rows(min_row=2, max_col=6, values_only=True):
if row[3] == material_name:
# 将单价写入单价输入框
self.material_qty8.set(row[5])
break
```
阅读全文