docker入门

从零开始

docker

windows10 家庭版

安装

如果你是 win10 专业版/企业版, 那么可以直接安装 docker desktop, 从这里下载

直接打开就安装好了


不过我的笔记本是家庭版, 本来找到一个绕开检测系统要求的方法, 不过看起来已经失效了, 所以只能安装 Docker Toolbox了, 地址在这里

一路 Next 就完成安装了, 在桌面上会有三个图标:

打开 Docker Quickstart Terminal 来进行一些初始化操作

结果遇到了大坑, virtual boxhost-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 的对应 ipport, 可以通过下面来查看:

这就是你 linuxip, 那么我们访问 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]

参考

换源

菜鸟教程