我通常喜欢在我的OSX上用brew管理我的应用程序
我能够安装docker, docker-compose和docker-machine
docker --version
Docker version 17.05.0-ce, build 89658be
docker-compose --version
docker-compose version 1.13.0, build unknown
docker-machine --version
docker-machine version 0.11.0, build 5b27455
我没有下载并运行“Docker for Mac”应用程序。
然而,当我试图跑
> docker run -d -p 80:80 --name webserver nginx
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
我已经检查了袜子档案
ls -lah /var/run/docker.sock /var/tmp/docker.sock
ls: /var/run/docker.sock: No such file or directory
ls: /var/tmp/docker.sock: No such file or directory
我也尝试了这个建议的解决方案:Mac OS X sudo docker无法连接到docker守护进程。这个主机上是否运行docker守护进程?
但是我收到了这个错误信息:
$ eval $(docker-machine env default)
Host does not exist: "default"
有可能通过命令行工具来运行docker服务吗?
安装minikube,加入黑暗面。
https://kubernetes.io/docs/tasks/tools/install-minikube/
$ bash --version
GNU bash, version 5.0.3(1)-release (x86_64-apple-darwin18.2.0)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
eval$(minikube docker-env)
$ docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate -i /local/swagger.json -l python -o /local/test/
[main] INFO io.swagger.parser.Swagger20Parser - reading from /local/swagger.json
[main] WARN io.swagger.codegen.DefaultGenerator - 'host' not defined in the spec. Default to 'localhost'.
使用bash v5在Macbook Pro 2018上工作出色。在我看来,现在不需要安装所有其他无意义的docker了。根据我的经验,minikube附带的VM和安装脚本可以取代docker机器。
尝试以下,它的工作现在很好
$ docker-machine create default
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Found a new host-only adapter: "vboxnet0"
(default) Waiting for an IP...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
Then
$ docker-machine env default
最后
$ eval $(docker-machine env default)
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES