我只需运行以下命令:
docker run -d -p 80:80 --name webserver nginx
Run Code Online (Sandbox Code Playgroud)
拉动所有图像后返回此错误:
docker:来自守护程序的错误响应:驱动程序在端点webserver上编程外部连接失败(ac5719bc0e95ead1a4ec6b6ae437c4c0b8a9600ee69ecf72e73f8d2d12020f97):启动userland代理时出错:绑定0.0.0.0:80:意外错误(EADDRINUSE失败).
这是我的码头版本信息:
Client:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 21:15:28 2016
OS/Arch: darwin/amd64
Server:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 21:15:28 2016
OS/Arch: linux/amd64
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
我试图使用docker cp将.class文件从我的主机复制到容器中.我使用以下命令:
docker cp foo.class container:/path/foo.class
Run Code Online (Sandbox Code Playgroud)
当容器内运行的服务器关闭时,我这样做.
但是,我看到foo.class没有更新我的最新文件,如果我尝试rm文件我得到一个
rm: cannot remove foo.class: Stale file handle
Run Code Online (Sandbox Code Playgroud)
这是我的docker版本(适用于Mac的Docker):
docker version
Client:
Version: 1.13.0
API version: 1.25
Go version: go1.7.3
Git commit: 49bf474
Built: Wed Jan 18 16:20:26 2017
OS/Arch: darwin/amd64
Server:
Version: 1.13.0
API version: 1.25 (minimum version 1.12)
Go version: go1.7.3
Git commit: 49bf474
Built: Wed Jan 18 16:20:26 2017
OS/Arch: linux/amd64
Experimental: true
Run Code Online (Sandbox Code Playgroud)
有谁见过这种情况?
TIA
我想使用 Dockerfile 在 Docker for Mac 上的 ubuntu17.04 上安装 tshark。我正在使用 docker-compose
中apt install tshark,有如下提示。
尽管我输入了提示停止安装yes。
如何在 Dockerfile 中安装 tshark?
Dumpcap can be installed in a way that allows members of the "wireshark" system
group to capture packets. This is recommended over the alternative of running
Wireshark/Tshark directly as root, because less of the code will run with
elevated privileges.
For more detailed information please see
/usr/share/doc/wireshark-common/README.Debian.
Enabling this feature may be a security risk, so it …Run Code Online (Sandbox Code Playgroud) 我有一些makefiles大多数东西应该在没有配置的情况下运行的地方。这些 makefiledocker-machine过去曾使用过。
有没有办法检测bash用户是否使用docker desktop for mac而不是docker-machine?
我有一个在我的系统上运行的docker容器,我开始使用这个命令:
docker run -it -v ~/some/dir -p 8000:80 3cce3211b735 bash
Run Code Online (Sandbox Code Playgroud)
现在docker ps列出了这个:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
44de7549d38e 3cce3211b735 "bash" 14 minutes ago Up 14 minutes 22/tcp, 443/tcp, 8082/tcp, 0.0.0.0:8000->80/tcp hardcore_engelbart
Run Code Online (Sandbox Code Playgroud)
在容器内部,我使用以下命令运行我的django应用程序: python manage.py runserver 80
但我无法使用以下任何一种方式查看页面:
1.localhost:8000
2.127.0.0.1:8000
我明白我的8000端口映射到容器上的80端口.但为什么我无法访问它.我使用docker for mac而不是docker工具箱.如果您需要更多信息,请提供帮助和评论.
最近的 Docker 更新似乎导致 MariaDB 中的(仅部分)InnoDB 表无法访问。我得到:
#1932 - Table 'dbname.SomeTableName' doesn't exist in engine
尝试访问它们时(它们确实出现在表格列表中)。我过去更新了 Docker(和图像)没有问题。db 文件和权限看起来不错。
我可以从备份中重新创建“丢失”的表(约 35 个中的 4 个),但是当我尝试删除它们时,我得到:
#1347 - 'dbname.SomeTableName' is not VIEW
我正在使用 Docker 映像mariadb:10.2(MariaDB-10.2.12+maria~jessie) 作为本地 Docker-for-Mac 开发环境的一部分,用于持久数据存储的绑定安装。docker-compose.yml 文件如下所示:
mysql:
image: mariadb:10.2
volumes:
- ./data/mysql:/var/lib/mysql
我以前从未遇到过此错误,无法转储或导出无法访问的表。有没有办法恢复或修复(或删除)它们?我宁愿不必重新创建整个数据库。
在 minikube 中,我可以通过minikube service kubedemo-service --url. 如何type: LoadBalancer在 Kubernetes 模式下获取Docker for Mac 或 Docker for Windows 中服务的 URL ?
service.yml 是:
apiVersion: v1
kind: Service
metadata:
name: kubedemo-service
spec:
type: LoadBalancer
selector:
app: kubedemo
ports:
- port: 80
targetPort: 80
Run Code Online (Sandbox Code Playgroud)
当我切换到type: NodePort并运行时,kubectl describe svc/kubedemo-service我看到:
...
Type: NodePort
LoadBalancer Ingress: localhost
...
NodePort: <unset> 31838/TCP
...
Run Code Online (Sandbox Code Playgroud)
我可以浏览http://localhost:31838/以查看内容。切换到type: LoadBalancer,我看到 localhost 入口线,kubectl describe svc/kubedemo-service但我可以ERR_CONNECTION_REFUSED浏览它。
(我很熟悉,http://localhost:8080/api/v1/namespaces/kube-system/services/kubedemo-service/proxy/尽管这会更改站点的根目录,破坏假定根目录的 …
我已经搜索了几个小时,似乎找不到该问题的最新答案
问题:显然 VirtualBox 正在 MacOS 上由 Docker 使用,并且它不希望将文件通知从主机操作系统传递到容器。因此,当从容器内执行这些操作时,inotifywait 只会通知监视文件夹上的文件活动。当这些操作是从主机执行时则不会。
Dockerfile
FROM python:3.9.6
COPY main.sh /bin/main.sh
RUN chmod +x /bin/main.sh
RUN apt-get update -y
RUN apt-get install -y inotify-tools
CMD /bin/main.sh
Run Code Online (Sandbox Code Playgroud)
主目录
#!/usr/bin/env bash
inotifywait -mq -r -e create -e modify -e delete -e move /data |
while read path action file; do
echo "The file '$file' appeared in directory '$path' via '$action'" >> log.txt
done
Run Code Online (Sandbox Code Playgroud)
构建容器
docker build -f Dockerfile -t my_container .
Run Code Online (Sandbox Code Playgroud)
运行容器
docker run -it -v …Run Code Online (Sandbox Code Playgroud) 我正在尝试将插入我的 mac 的 Arduino 公开到我在Docker for Mac(无虚拟机)中运行的 Linux 实例。
Arduino 将自己暴露为/dev/tty.usbserialXXX. 我使用的node是基于 ubuntu 的 docker 镜像。
我正在运行的命令是
$ docker run --rm -it -v `pwd`:/app --device /dev/tty.usbmodem1421 node bash
docker: Error response from daemon: linux runtime spec devices: error gathering device information while adding custom device "/dev/tty.usbmodem1421": lstat /dev/tty.usbmodem1421: no such file or directory.
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用--privileged
$ docker run --rm -it -v `pwd`:/app --device /dev/tty.usbmodem1421 --privileged node bash
root@8f18fdbcf64d:/# ls /dev/tty.*
ls: cannot access /dev/tty.*: …Run Code Online (Sandbox Code Playgroud) docker ×10
docker-for-mac ×10
macos ×2
django ×1
docker-image ×1
dockerfile ×1
inotify ×1
inotifywait ×1
installation ×1
kubernetes ×1
linux ×1
mariadb ×1
mysql ×1
tshark ×1