已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
2天前关闭。
Improve this question
我对docker有一个很大的问题--重启后它会改变容器Map端口
我启动容器:
docker run -i -t -d -p 3000:63000测试
一切都很好,但重新启动后,内部端口(63000)改为8080
我的dockerfile:
FROM node:18-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 63000
CMD [ "node", "serverWS.js" ]
暴露是OK的。我不知道我还能查什么。也许有人能帮忙
docker.compose.yml
version: '3.9'
services:
php-env:
image: cento_php8
#image: centos_ms
#image: mydemophpimage
#build: .
restart: always
volumes:
- ./app:/var/www/html
- ./php.ini:/etc/php.ini:ro
ports:
- 5000:80
Docker版本24.0.2,构建cb 74 dfc
重启的意思是运行docker的机器被关闭并再次打开。之后,docker会自动启动(设置:restart always),但是容器在不同的端口上启动。我通过列出机器重启前后运行的容器来检查它。在我有0.0.0.0:3000->63000之前,以及在重新启动0.0.0.0:3000->8080之后
1条答案
按热度按时间uubf1zoe1#
您应该将所需的端口Map添加到
docker-compose.yml
,并使用docker compose up -d
而不是docker run
启动容器。