Вам нужно привязать к DataContext
родительского ItemsControl
.
<ItemsControl ItemsSource="{Binding Path=IterateProperty}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding DataContext.GetThis,
RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type ItemsControl}}}" />
Обновление
Кажется, что в более новых версиях Docker и Ubuntu файл модуля для Docker просто маскируется (указывая на /dev/null).
Вы можете проверить это, выполнив в терминале следующие команды:
sudo file /lib/systemd/system/docker.service
sudo file /lib/systemd/system/docker.socket
Вы должны увидеть, что файл модуля содержит ссылки на /dev/null.
. В этом случае все, что вам нужно сделать, это следовать предложению S34N и выполнить:
sudo systemctl unmask docker.service
sudo systemctl unmask docker.socket
sudo systemctl start docker.service
sudo systemctl status docker
Я также сохраню исходный пост, который отвечает на журнал ошибок, в котором говорится, что драйвер хранилища должен быть заменен:
Исходное сообщение
У меня была та же проблема, и я попытался исправить ее с предложением Сальвы Корта, но печать /etc/default/docker
говорит:
# Этот файл не применяется к SYSTEMD
Итак, вот постоянное исправление , которое работает для systemd (Ubuntu 15.04 и выше):
создайте новый файл /etc/systemd/system/docker.service.d/overlay.conf
следующего содержания:
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// -s overlay
сбросить изменения, выполнив:
sudo systemctl daemon-reload
verify что конфигурация была загружена:
systemctl show --property=ExecStart docker
перезапустите докер:
sudo systemctl restart docker
Следующие команды снятия маски работали для меня (Ubuntu 18). Надеюсь, это поможет кому-то там ... :-)
sudo systemctl unmask docker.service
sudo systemctl unmask docker.socket
sudo systemctl start docker.service
Ну, наконец, я исправил это
Все, что вам нужно сделать, это загрузить другой драйвер хранилища , в моем случае я буду использовать overlay
:
sudo systemctl stop docker.service
overlay
): sudo docker daemon -s overlay
sudo docker run hello-world
Чтобы сделать эти изменения постоянными, необходимо отредактировать /etc/default/docker
и добавьте параметр:
DOCKER_OPTS="-s overlay"
В следующий раз, когда загрузится служба Docker , она запустится docker daemon -s overlay
У меня была такая же проблема после обновления докера с 17.05-го до 17.06-го через докер-машину
Обновление /etc/systemd/system/docker.service.d/10 -machine.conf
заменить пример
`docker daemon` => `dockerd`
с
[Service]
ExecStart=
ExecStart=/usr/bin/docker deamon -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic
Environment=
на
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic
Environment=
сбросить изменения на выполнить:
sudo systemctl daemon-reload
перезапустить докер:
sudo systemctl restart docker
Я смог заставить его работать после обновления ядра, следуя инструкциям в этом блоге.
sudo apt-get update
sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
sudo modprobe aufs
sudo service docker restart
После просмотра некоторых других ответов похоже, что проблема заключалась в том, что служба не работала с опциями -s overlay
.
Я также случайно заметил, что докер попытался запустить ${DOCKER_OPTS}
в конце разговора.
Я смог export DOCKER_OPTS="-s overlay"
(bc по умолчанию DOCKER_OPTS был пуст) и запустить Docker.
Что касается меня, я получил эту ошибку.
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
Наконец, я обнаружил, что это ошибка /etc/docker/daemon.json
, потому что я добавляю registry-mirrors
{
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
# I forget to add a comma , here !!!!!!!
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
После того, как я добавляю его, затем systemctl restart docker
Я решил это.
В моем случае я получал следующую ошибку из journalctl -xe command
unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character 'â' looking for beginning of object key string
Просто очистите /etc/docker/daemon.json с
{
}
У меня была эта проблема сегодня после обновления до ядра Ubuntu, и я попробовал множество решений выше. Однако единственное, что сработало (Ubuntu 16.04.6 LTS), - это удалить (или переименовать) папку: / var / lib / docker
Обратите внимание, этот удалит все ваши образы докеров, контейнеры, тома и т. д. Итак, поймите последствия до применения или создания резервной копии!
Подробнее здесь: https://github.com/docker/for-linux/issues/ 162