相关文章:
linux docker安装及报错处理_做测试的喵酱的博客-CSDN博客
一、mac 安装及使用docker_docker mac_做测试的喵酱的博客-CSDN博客
Docker 容器使用 | 菜鸟教程
linux应用docker基本使用(一)_做测试的喵酱的博客-CSDN博客
一、 运行web 应用
使用 docker 构建一个 web 应用程序。
在docker容器中运行一个 Python Flask 应用来运行一个web应用。
1、拉取镜像到本地
docker pull training/webapp
2、通过镜像,生成容器
docker run -d -P training/webapp python app.py
参数说明:
-
-d:让容器在后台运行。
-
-P:将容器内部使用的网络端口随机映射到我们使用的主机上。
3、查看容器信息 docker ps
[root@ecs-39233 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0935de4f00f3 training/webapp "python app.py" 30 seconds ago Up 29 seconds 0.0.0.0:32768->5000/tcp, :::32768->5000/tcp trusting_mclean
359b300378a6 ubuntu:15.10 "/bin/bash" 3 hours ago Up 2 hours funny_poincare
[root@ecs-39233 ~]#
Docker 开放了 5000 端口(默认 Python Flask 端口)映射到主机端口 32769 上。
4、访问web服务
这时我们可以通过浏览器访问WEB应用
http://124.70.87.136:32768/
注意:
提前将我们云服务的端口32769放开。
1.1 启动容器时,指定端口 -p
[root@ecs-39233 ~]# docker run -d -p 8081:5000 training/webapp python app.py
3619a6d34eb39257cbb3fcf71cb4f536fd90c7535868f16a5f8cd034ae0c6c0e
docker ps查看正在运行的容器
容器内部的 5000 端口映射到我们本地主机的 8081 端口上。
http://124.70.87.136:8081/
二、网络端口的快捷方式 docker port
docker port 可以查看指定 (ID/name)容器的某个确定端口映射到宿主机的端口号。
来查看容器端口的映射情况。
[root@ecs-39233 ~]# docker port 3619a6d34eb3
5000/tcp -> 0.0.0.0:8081
5000/tcp -> [::]:8081
[root@ecs-39233 ~]# docker port trusting_mclean
5000/tcp -> 0.0.0.0:32768
5000/tcp -> [::]:32768
三、查看 WEB 应用程序日志
docker logs id/name 可以查看容器内部的标准输出。
[root@ecs-39233 ~]# docker logs -f 3619a6d34eb3
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
223.104.38.27 - - [05/Jul/2023 09:28:07] "GET / HTTP/1.1" 200 -
223.104.38.27 - - [05/Jul/2023 09:28:07] "GET /favicon.ico HTTP/1.1" 404 -
121.36.69.236 - - [05/Jul/2023 09:28:15] "GET / HTTP/1.1" 200 -
209.141.41.25 - - [05/Jul/2023 09:29:56] "CONNECT www.baidu.com:443 HTTP/1.1" 404 -
-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。
四、查看WEB应用程序容器的进程 docker top
我们还可以使用 docker top 来查看容器内部运行的进程
[root@ecs-39233 ~]# docker top 3619a6d34eb3
UID PID PPID C STIME TTY TIME CMD
root 6154 6135 0 17:26 ? 00:00:00 python app.py
五、检查 WEB 应用程序 docker inspect
docker inspect 查看 Docker 的底层信息,返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。
docker inspect 3619a6d34eb3
六、停止 WEB 应用容器 docker stop
docker stop id/name
[root@ecs-39233 ~]# docker stop 3619a6d34eb3
3619a6d34eb3
[root@ecs-39233 ~]# docker stop trusting_mclean
trusting_mclean
七、重启WEB应用容器
已经停止的容器,我们可以使用命令 docker start id/name 来启动。
[root@ecs-39233 ~]# docker start 3619a6d34eb3
3619a6d34eb3
docker ps -l 查询最后一次创建的容器:
[root@ecs-39233 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3619a6d34eb3 training/webapp "python app.py" 31 minutes ago Up 26 seconds 0.0.0.0:8081->5000/tcp, :::8081->5000/tcp exciting_leakey
正在运行的容器,我们可以使用 docker restart id/name命令来重启。
八、移除WEB应用容器
我们可以使用 docker rm id/name命令来删除不需要的容器
runoob@runoob:~$ docker rm trusting_mclean
trusting_mclean
删除容器时,容器必须是停止状态,否则会报如下错误