云计算核心技术Docker教程: 构建web应用程序
接下来我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。 使用如下命令载入镜像: # docker pull training/webapp # 载入镜像 # docker run -d -P training/webapp python app.py 参数说明: -d:让容器在后台运行。 -P:将容器内部使用的网络端口随机映射到我们使用的主机上。 使用 docker ps 来查看我们正在运行的容器: 命令如下: # docker ps 显示的端口映射信息: PORTS 0.0.0.0:32769->5000/tcp Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。 这时我们可以通过浏览器IP:32769访问WEB应用 我们也可以通过 -p 参数来设置不一样的端口: docker run -d -p 5000:5000 training/webapp python app.py 修改为容器内部的 5000 端口映射到我们本地主机的 5000 端口上。 通过 docker ps 命令可以查看到容器的端口映射,docker 还提供了另一个快捷方式 docker port,使用 docker port 可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号。 上面我们创建的 web 应用容器 ID 为 bf08b7f2cd89 名字为 wizardly_chandrasekhar。 我可以使用 docker port bf08b7f2cd89 或 docker port wizardly_chandrasekhar 来查看容器端口的映射情况。 命令如下: # docker port bf08b7f2cd89 # docker port wizardly_chandrasekhar docker logs [ID或者名字] 可以查看容器内部的标准输出。 命令如下: # docker logs -f bf08b7f2cd89 参数说明: -f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。 我们还可以使用 docker top 来查看容器内部运行的进程 命令如下: # docker top [ID或者名字] 使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。 命令如下: # docker inspect [ID或者名字] 停止 WEB 应用容器 # docker stop [ID或者名字] 重启WEB应用容器 # docker start [ID或者名字] 可以使用docker ps -l 查询最后一次创建的容器 移除WEB应用容器 使用 docker rm 命令来删除不需要的容器 删除容器时,容器必须是停止状态,否则会报错。 可能会出现的问题: 创建容器的时候报错WARNING: IPv4 forwarding is disabled. Networking will not work. 解决方法: # vim /usr/lib/sysctl.d/00-system.conf 添加如下代码:net.ipv4.ip_forward=1 重启network服务 # systemctl restart network 完成以后,删除错误的容器,再次创建新容器,就不再报错了。
相关阅读: 云计算核心技术Docker教程:在Centos中安装Docker 云计算的主流容器平台Docker架构分析 云计算核心技术Docker教程:Docker容器使用 (编辑:源码门户网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |