我是Docker的新手,我正在玩#!/usr/bin/python
import sqlite3
conn = sqlite3.connect('ipdb.sqlite')
cursor = conn.execute("SELECT ID, IP, CITY, INCOMPLETE, CMTSIP from STATICIPS WHERE CITY='LS'")
for row in cursor:
if (row[3] == 1):
print row[1]
searchfile = open("arp-ls.txt", "r")
for line in searchfile:
if row[1] + ' ' in line:
print line
conn.execute("UPDATE STATICIPS set INCOMPLETE = 0 where ID = " + row[0])
conn.commit
searchfile.close()`
。我想指定 Traceback (most recent call last):
File "getinc.py", line 16, in <module>
conn.execute("UPDATE STATICIPS set INCOMPLETE = 0 where ID = " + row[0])
TypeError: cannot concatenate 'str' and 'int' objects
存储数据的位置。就像我们执行docker volume
时提供docker volume
选项一样。的 -v
我们如何在创建docker run
时设置自定义挂载点。我没有在docs上找到任何选项。
当我检查音量时
Ex : -v /somefolder/:/var/somefolder
我得到了类似的东西。
docker volume
命令或通过[
{
"Name": "sampleproject_mysql_data",
"Driver": "local",
"Mountpoint": "/mnt/sda1/var/lib/docker/volumes/sampleproject_mysql_data/_data",
"Labels": null,
"Scope": "local"
}
]
?答案 0 :(得分:21)
如果你需要一个指向主机文件系统位置的命名卷(由于你可以进行主机挂载,这有点重新发明轮子,但似乎有很多人要求它),那就是{ {3}}。这包含在Docker的local persist filesystem driver。
中更新:还可以使用默认本地卷驱动程序将命名卷的绑定装载到主机上的任何目录。这允许您利用主机卷中缺少的命名卷的自动初始化,但有一个缺点,即如果缺少主机目录,则docker不会创建主机目录(相反,卷安装将失败)。您可以通过以下几种方法创建此命名卷:
# create the volume in advance
$ docker volume create --driver local \
--opt type=none \
--opt device=/home/user/test \
--opt o=bind \
test_vol
# create on the fly with --mount
$ docker run -it --rm \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=none,volume-opt=o=bind,volume-opt=device=/home/user/test \
foo
# inside a docker-compose file
...
volumes:
bind-test:
driver: local
driver_opts:
type: none
o: bind
device: /home/user/test
...