docker入门

从零开始

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:

  1. Open Control Panel
  2. Network Connections
  3. Select each adaptor and then select ‘Disable this network device’ from the top

简单地说就是

  1. 在 查看网络设备器 这里先禁用所有的设备
  2. 重新运行 Docker Quickstart Terminal
  3. 稍等一下, 创建 host-only adapter 应该是成功的, 但是出现了 wait for an IP
  4. 这时候就重新打开你的 网络设备
  5. 完成

换源(docker toolbox)

1
2
3
4
5
docker-machine ssh default

sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=http://f1361db2.m.daocloud.io |g" /var/lib/boot2docker/profile

docker-machine restart default

配置nginx

  1. 拉取 image
1
docker pull nginx

然后就可以看到该镜像了

  1. 默认配置启动 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 就可以启动、 关闭、 删除这个容器了

  1. 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]

参考

换源
坑
菜鸟教程