Как Docker Desktop запускает контейнеры Linux на Windows-машине

Если вы хотите рассмотреть другие пакеты, посмотрите pandas , который построен поверх numpy. Вы можете читать инструкции sql непосредственно в dataframe, затем фильтровать.

Например,

import pandas
sql = '''SELECT * FROM  WHERE '''
df = pandas.read_sql(sql, )

# Your output might look like the following:

        0                                         1                     2
0   12346   (135:2345678, 212:4354670, 198:9876545) (Flag1, Flag2, Flag3)
1   12345   (136:2343678, 212:4354670, 198:9876545) (Flag1, Flag2, Flag4)

# Format your records into rows
# This part will take some work, and really depends on how your data is formatted
# Do you have repeated values? Are the records always the same size?

# Select only the rows where relationship = 125
rel_125 = df[df['Relationship'] = 125]

Форматирование pandas более глубокое, чем подходит для Q & amp; A, но некоторые Хорошие ресурсы здесь: 10 минут до Pandas .

Вы также можете фильтровать строки напрямую, хотя это может быть не самым эффективным. Например, следующий запрос выбирает только строки, в которых отношения начинаются с «212».

df[df['Relationship'].apply(lambda x: any(y.startswith('212') for y in x))]

1
задан Sujit Singh 19 January 2019 в 07:16
поделиться

1 ответ

1) Моя машина с Windows 10 имеет ядро ​​Windows. Верно?

A: Да.

2) Когда я выбираю опцию для запуска контейнеров Linux, я думаю, что виртуальная машина Linux запускается поверх моей машины с Windows 10, а поверх этого запускаются контейнеры Linux. Это правильно?

A: Да. Там будет Hyper-V Linux с именем Mobylinux, вы можете увидеть это в диспетчере Hyper-V.

3) Если виртуальная машина Linux запущена на компьютере с ОС TOP, какое ядро ​​используется? Ядро виртуальной машины Linux или ядро ​​Windows 10?

A: Hyper-v vm использует ядро ​​Linux.

4) И тогда как мы можем сказать, что контейнеры не включают в себя операционную систему, для окон они работают на виртуальной машине Linux.

A: Не уверен, где вы получаете информацию. Образ докера имеет только файловую систему, например файловая система ubuntu16.04, но не имеет ядра. Когда контейнер запустится, он будет использовать файловую систему image & amp; поделиться ядром хоста (может быть, вы просто имеете в виду, что у него нет собственного ядра, поэтому вы называете его не имеющим операционной системы?)

5) Теперь, если я запущу второй контейнер, он будет работать поверх уже под управлением Linux VM или она снова запустит новую Linux linux? Я думаю, что он будет работать на той же виртуальной машине Linux, но спрашиваю, чтобы не было путаницы.

A: Да, он снова будет работать на том же linux vm.

6) Если виртуальная машина Linux запущена на вершине компьютера с Windows, то имеем ли мы какой-либо контроль над виртуальной машиной Linux, работающей как версия виртуальной машины Linux, и т. Д., Или она всегда одна и та же, и мы не имеем никакого контроля над это?

A: Нет, см. это обсуждение , кажется, не может ssh к виртуальной машине, просто какой-то обходной путь для доступа к файловой системе виртуальной машины, поэтому не найти никакого способа изменить ядро ​​или дистрибутив Linux.

7) Если виртуальная машина Linux запускается поверх компьютера с Windows, то ресурсы Windows не видны для виртуальной машины Linux и, следовательно, для контейнера? Если это видно, то как Linux VM может общаться с хостом Windows?

A: Теоретически вы можете смонтировать папку windows в linux vm, тогда контейнер может использовать папку linux с томом. И Docker для Windows сделал это для вас, щелкните правой кнопкой мыши значок на панели задач, вы можете увидеть что-то вроде следующего, просто сделайте, как на картинке:

enter image description here

0
ответ дан atline 19 January 2019 в 07:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: