当运行python时,传统的方法是在宿主机上安装python,但需要你的所有环境都是完美的。而如今我们可以抓取一个便携python运行时文件作为镜像——这种便携式镜像由Dockerfile定义。
用Dockerfile来定义一个容器
Dockerfile定义了你容器中的环境里发生的事。由于向资源(网络接口,磁盘驱动等)的通行被虚拟化了,所以你必须定位向外部世界的端口(ports),并且明确你想复制哪一个文件至你的环境中。
build时遇到问题
按文档一步步做都没什么问题,直到执行到 docker build --tag=friendlyhello . 命令时,由于众所周知的原因,报了网络连接的错。
先是去google查了解决方案,发现由于特殊国情,外网上的解答并不适用。于是关掉little rocket前往中文互联网搜索。最终解决。解决方案如下:
-
右键little rocket,勾选“允许其他设备连入”。
-
打开docker的settings,设置如下:
之后再运行,成功。
在网页上看到你的build
docker run -p 4000:80 friendlyhello
之后打开网页 http://localhost:4000 即可看到如下界面
以下命令可在shell中查看网页信息:curl http://localhost:4000
注意windows上容器的关闭方式
ctrl+c并不会停止容器的运行,在windows的shell中使用ctrl+c之后,docker container ls 列出所有运行中的container及其id,然后用docker container stop CONTAINER ID 来终止容器。