docker-compose 部署 ubuntu 镜像 port 端口不生效
Posted 李斌的BLOG
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker-compose 部署 ubuntu 镜像 port 端口不生效相关的知识,希望对你有一定的参考价值。
编写了一个 docker-compose 用于部署 ubuntu 镜像。
出现了一个很怪的问题:当我 run 容器的时候,映射的端口是生效的。但是当我用 docker-compose 把命令编在一起的时候,用 docker-composer up -d 端口不生效。
我先用 docker logs {container_id} 试图查看错误日志,发现日志为空。
查阅资料后,发现要用以下命令启动,可以查到到错误。
docker-compose up --build
得到的报错信息如下:
ubuntu20 exited with code 0
可以得到报错原因是:
docker容器执行任务完成后就会处于exited状态
解决方案如下:
docker-compose 文件中加入以下参数:
stdin_open: true
tty: true
其中 stdin_open
相当于 run
命令中的 -d
,其中 tty
相当于 run
命令中的 -i
最终形成的docker-compose文件如下:
下载地址:
https://github.com/jefferywork/docker-vhost
version: "3.8"
services:
# Ubuntu-20 配置
ubuntu20:
image: ubuntu:20.10
container_name: ${UBUNTU20_NAME}
ports:
- "${UBUNTU20_PORT}:22"
volumes:
- ${UBUNTU20_HOME}:/home # 数据配置
- ./docker-compose/ubuntu:/docker-compose # 系统配置
working_dir: /home
networks:
- vhost-net
command:
- "bash"
restart: always
privileged: true
stdin_open: true
tty: true
# 网络配置
networks:
vhost-net:
driver: bridge
知识连接:
https://stackoverflow.com/questions/44884719/exited-with-code-0-docker
https://www.opsask.com/post/18151/docker-compose-env-port-duankou.html
以上是关于docker-compose 部署 ubuntu 镜像 port 端口不生效的主要内容,如果未能解决你的问题,请参考以下文章
Docker+Docker-compose部署Springboot项目-前后端分离
使用docker-compose部署最新版Harbor v2.3.2
halo搭建炫酷个人博客快速部署:docker+docker-compose+nginx