1.想要获取docker的可用命令: 结果: 2.要获得某个命令的帮助信息,输入: 3.查看docker版本信息: 结果: 端口映射及相关操作: 预备: 先从dockerHub pull一个名为“raining/webapp”的镜像(可能需要梯子) - docker pull raining/webapp
(现在有了这个镜像) 1.启动容器: - docker run -d -P training/webapp python app.py
(新的-P标示通知Docker所需的网络端口映射从主机映射到我们的容器内) 结果: Docker可以配置绑定网络端口。在最后一个例子中-P标示,是-p 5000的快捷方式,-p 5000可以使端口5000映射到外部的端口(49000到49900端口)。我们也可以指定-p标示来指定端口。举例: $ sudo docker run -d -p 5000:5000 training/webapp python app.py 他将端口5000映射到我们本地主机端口5000.现在你可能会问:为什么我们只使用1对1端口映射到Docker容器而不是映射到高端口?1:1映射端口只能到你本地主机的端口。假设你想要测试两个Python应用程序,两个容器内绑定到端口5000,没有足够的docker的端口映射你只能访问一次。 备注: 2.查看容器的最新状态: 结果: tips:-l标识用于获取容器的最新状态信息。可以看到,容器中的5000端口被映射到我VM中49153这个端口。 3.查看容器端口映射: - docker port goofy_poincare 5000
结果: tips:命令中,5000指的是容器的端口。 4.从宿主机访问VM中容器的服务: 查看VM的ip地址: 根据上文得到的映射结果,在浏览器中打开该地址:VM_IP:CONTAINER_PORT 如图: 5.查看容器内的web日志: - docker logs -f CONTAINER_NAME
结果: tips:-f用于查看容器的标准输出。 6.查看容器中的进程: - docker top CONTAINER_NAME
结果: 7.查看容器的具体信息: - docker inspect CONTAINER_NAME
结果: tips:输出了非常多的内容,如果想要提取某一部分,请按照JSON的格式提取: 例如,提取IP地址: - docker inspect -f '{ { .NetworkSettings.IPAddress }}' goofy_poincare
结果: 8.停止和启动容器: *停止: - docker stop CONTAINER_NAME
结果: 可以看到,docker现在没有容器运行。 *启动: - docker start CONTAINER_NAME
结果: 9.删除容器: 1.docker rm CONTAINER_NAME 如果容器还在运行中,将无法直接删除,除非用-f标识,错误提示如下: 把它停掉后,再次删除: |
可参考:http://www.oschina.net/translate/docker-network-configuration