docker
windows10 家庭版
安装
如果你是 win10
专业版/企业版, 那么可以直接安装 docker desktop
, 从这里下载
直接打开就安装好了
不过我的笔记本是家庭版, 本来找到一个绕开检测系统要求的方法, 不过看起来已经失效了, 所以只能安装 Docker Toolbox
了, 地址在这里
一路 Next
就完成安装了, 在桌面上会有三个图标:
打开 Docker Quickstart Terminal
来进行一些初始化操作
结果遇到了大坑, virtual box
的 host-only adapter
一直失败, 重装了 virtual box
也不行, 不过看到了一个解决方法, 在我的笔记本上生效了:
I was able to get this working by disabling all of the network adapters, besides the physical one, during installation. Once installation is complete you can re-enable them. To disable the adaptors, do the following steps:
- Open Control Panel
- Network Connections
- Select each adaptor and then select ‘Disable this network device’ from the top
简单地说就是
- 在 查看网络设备器 这里先禁用所有的设备
- 重新运行
Docker Quickstart Terminal
- 稍等一下, 创建
host-only adapter
应该是成功的, 但是出现了wait for an IP
- 这时候就重新打开你的 网络设备
- 完成
换源(docker toolbox)
1 | docker-machine ssh default |
配置nginx
- 拉取
image
1 | docker pull nginx |
然后就可以看到该镜像了
- 默认配置启动
nginx
1 | docker run --name nginx-test -p 8080:80 -d nginx |
其中:
--name nginx-test
代表容器名字为nginx-test
-p 8081:80
表示端口映射, 把主机8081
端口映射到docker
内的80
端口-d
表示后台运行nginx
表示以镜像运行一个容器
已经在后台运行了, 下面显示的东西是容器的 ID
, 一般可作为日志的文件名
也可以通过
1 | docker ps |
来查看运行的程序的信息, 里面也包括 ID
, 通过这个 ID
就可以启动、 关闭、 删除这个容器了
- windows的坑
因为在 windows
里的 docker
还是跑在一个 linux
虚拟机里的(至少家庭版是这样), 所以像上面那样启动 nginx
实例后, 你在浏览器访问 http://127.0.0.1:8080
是看不到 nginx
的欢迎界面的
因为 docker nginx
跑在 linux
虚拟机上!, 所以我们要访问 linux
的对应 ip
和 port
, 可以通过下面来查看:
这就是你 linux
的 ip
, 那么我们访问 http://192.168.99.100:8080
就能看到 docker nginx
的欢迎界面啦
外部文件挂载配置nginx
docker file
docker-compose
命令
版本号
1 | docker version |
连接到 default
1 | docker-machine ssh default |
重启 default
1 | docker-machine restart default |
列出本机的所有 image
文件
1 | docker image ls |
删除 image
文件
1 | docker image rm [imageName] |
拉取 image
文件
1 | docker image pull [imageName] |
运行 image
文件(若不存在则会自动拉取)
1 | docker container run hello-world |
列出本机正在运行的容器
1 | docker container ls |
列出本机所有容器, 包括终止运行的容器
1 | docker container ls --all |
启动已经生成、已经停止运行的容器文件
1 | docker container start [containerID] |
停止容器运行
1 | docker container stop [containerID] |
终止容器运行
1 | docker container kill [containID] |
删除容器文件
1 | docker container rm [containerID] |