docker部署web项目_小钢炮docker安装web
2023-06-13 09:12:50 时间
前言
前面我们运行的容器并没有一些什么特别的用处。 接下来让我们尝试使用 docker 构建一个 web 应用程序。 我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。
运行一个web容器
docker pull training/webapp # 载入镜像
docker run -d -P training/webapp python app.py
[root@jkc easymock]# docker run -d -P training/webapp python app.py
e8365788c20ff883c97718444959c52f995ea6c38713a23a2f4ed1421ab65368
[root@jkc easymock]#
参数说明:
- -d:让容器在后台运行。
- -P:将容器内部使用的网络端口随机映射到我们使用的主机上。
查看 WEB 应用容器
使用 docker ps 来查看我们正在运行的容器:
[root@jkc ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e8365788c20f training/webapp "python app.py" 31 minutes ago Up 31 minutes 0.0.0.0:49153->5000/tcp dazzling_mcnulty
这里多了端口信息。
PORTS
0.0.0.0:49153->5000/tcp
Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 49153 上。 这时我们可以通过浏览器访问WEB应用
我们也可以通过 -p 参数来设置不一样的端口:
[root@jkc ~]# docker run -d -p 5000:5000 training/webapp python app.py
docker ps查看正在运行的容器
[root@jkc ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0d3fe01b6c13 training/webapp "python app.py" 36 seconds ago Up 35 seconds 0.0.0.0:5000->5000/tcp lucid_lederberg
容器内部的 5000 端口映射到我们本地主机的 5000 端口上。
网络端口的快捷方式
通过docker ps
命令可以查看到容器的端口映射,docker 还提供了另一个快捷方式 docker port
,使用docker port
可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号。
上面我们创建的 web 应用容器 ID 为 0d3fe01b6c13 名字为 lucid_lederberg。
我可以使用 docker port 0d3fe01b6c13 或 docker port lucid_lederberg 来查看容器端口的映射情况。
[root@jkc ~]# docker port 0d3fe01b6c13
5000/tcp -> 0.0.0.0:5000
[root@jkc ~]# docker port lucid_lederberg
5000/tcp -> 0.0.0.0:5000
[root@jkc ~]#
查看WEB应用程序容器的进程
我们还可以使用 docker top 来查看容器内部运行的进程
[root@jkc ~]# docker top 0d3fe01b6c13
UID PID PPID C STIME TTY TIME CMD
root 23464 23421 0 16:09 ? 00:00:00 python app.py
检查 WEB 应用程序
使用 docker inspect
来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。
[root@jkc ~]# docker inspect e8365788c20f
[
{
"Id": "e8365788c20ff883c97718444959c52f995ea6c38713a23a2f4ed1421ab65368",
"Created": "2021-01-22T07:26:49.225684861Z",
"Path": "python",
"Args": [
"app.py"
],
"State": {
"Status": "exited",
"Running": false,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 0,
"ExitCode": 137,
"Error": "",
"StartedAt": "2021-01-22T07:26:49.59638614Z",
"FinishedAt": "2021-01-22T08:09:05.22474156Z"
},
.......
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/165602.html原文链接:https://javaforall.cn
相关文章
- 虚拟机docker安装RabbitMQ[通俗易懂]
- 如何用 Docker 安装运行 mysql?
- docker 错误记录
- Docker 启动容器实例报错:UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeou...
- Docker部署_docker部署网站
- Windows10系统安装docker
- 腾讯云 Docker 镜像加速 和 Docker Compose 的安装
- docker 安装MongoDB
- 安装 Docker 软件
- docker安装postgresql
- 史上最详细Docker安装Redis (含每一步的图解)实战
- Docker下载与安装
- Docker安装SkyWalking并监控Java程序
- Docker 离线安装_docker官方中文文档
- docker 离线安装_Docker安装
- spring cloud eureka docker多网卡ip注册异常
- 国产数据库|使用 Docker 安装 MogDB3.0
- 2-5 安装容器Web工具:Docker Portainer
- 【Docker】Linux安装Docker(极简版)
- docker中安装es和kibana
- 离线环境下安装docker
- docker部署
- docker部署java程序获取的时间与系统时间不一致详解程序员
- Docker:在 Ubuntu 15.04 上如何安装和基本用法
- Debian 8 (Jessie)下面如何安装卸载docker
- 专访:一个不喜欢玩黑盒的程序员,《Docker源码分析》作者孙宏亮
- docker-网络链接模式
- RUN vs CMD vs ENTRYPOINT – 每天5分钟玩转 Docker 容器技术(17)
- 使用 Docker 轻松安装 MySQL 数据库(docker安装mysql)
- Docker Linux:打造高效的应用部署环境(docklinux)
- 探索Docker安装Oracle数据库的秘密(docker安装oracle)