Docker nâng cao
Mike Metzger
Data Engineer
EXPOSE<number>, <number>/tcp hoặc <number>/udpEXPOSE 80 hoặc EXPOSE 80/tcp-p hoặc -P cho docker run để mở cổng ra ngoài container-P sẽ tự ánh xạ một cổng tạm thời tới cổng được expose. Cần dùng docker ps -a để xem cổng nào được ánh xạ.-p<host port>:<container port> để chỉ định cổng cụ thể.# Dockerfile
FROM python:3.11-slim
ENTRYPOINT ["python","-mhttp.server"]
# Thông báo cho Docker Engine
# cổng 8000 nên được mở
EXPOSE 8000
docker run pyserver
docker ps -a
CONTAINER ID IMAGE ... PORTS NAMES
8c3d320255ae pyserver ... 8000/tcp angry_chaum
docker run -P pyserver
docker ps -a
CONTAINER ID IMAGE ... PORTS NAMES
6bb458ef25da pyserver ... 0.0.0.0:55001->8000/tcp beautiful_lamarr
docker inspect cung cấp rất nhiều thông tindocker inspect <id>
"NetworkSettings": {
"Bridge": "",
"Ports": {
"8000/tcp": [{
"HostIp": "0.0.0.0",
"HostPort": "55001"
}]
},
...
Docker nâng cao