现在流行使用容器来运行应用以防止因暂时的环境需要破坏系统整体的环境,从而导致系统安装一些仅短期使用的东西。我们都知道使用具体步骤是:
- 安装docker
- 使用docker命令从服务器拖镜像或者从Dockerfile来创建镜像
可是,镜像拖下来之后呢?如何使用镜像中的环境运行自己定义的文件呢?直接运行不是文件找不到就是命令找不到?
这是因为大家陷入来一个误区:在当前目录上执行的拖拽行为,那把新创建的文件放在当前目录下一定找得到!其实不然,你不管在哪个目录执行的拖拽行为(docker pull imagename),镜像都是存放在默认目录下,而且修改这个默认目录非常麻烦。而我们新创建的文件只有放在镜像目录的/usr/src/myapp目录下才能找到。但是镜像目录到底在哪里呢?在下是没找到,兄台,要是找到来麻烦告知哦!
不过不知道也没有关系,我们可以将当前目录映射到目标目录就可以来。
- docker run -v $PWD:/usr/src/myapp -w /usr/src/myapp python:3.5 python test_python3.py
我的第三步运行命令如上所示。其中,
- -v $PWD:/usr/src/myapp :将主机中当前目录挂载到容器的/usr/src/myapp
- -w /usr/src/myapp :指定容器的/usr/src/myapp目录为工作目录
- python:3.5:刚刚我们从服务器拖拽下的镜像名
- python test_python3.py :使用容器的python命令来执行工作目录中的helloworld.py文件
我的test_python3.py文件内容如下:
运行结果如下:
哈哈哈,终于弄明白啦,可以开始使用docker啦!