首页 > 编程语言 > Docker 实现容器端口绑定本地端口
2021
03-24

Docker 实现容器端口绑定本地端口

今天遇到启动镜像之后,通过HTTP请求的的方式访问不了的一个小问题,下面来记录并分享下解决办法:

常用的docker启动命令和解决办法如下所示:

一、启动docker

众所周知,启动容器的命令如下:

docker run 镜像名称

二、绑定容器端口与本地端口

由于启动容器之后,本地无法直接访问容器内的端口,故而需要将本地的端口与容器的端口做一个绑定操作,从而可以通过本地端口去访问容器,设置如下:

docker run -p 本地端口:容器端口 镜像名称

然后就可以通过本地的浏览器通过本地的端口访问容器了。

三、容器在后台运行,加-d参数,命令如下:

docker run -d -p 本地端口:容器端口 镜像名称

四、查看镜像列表,命令如下

docker image ls
或
docker images

五、查看正在运行的容器,命令如下

docker ps

补充:docker 给运行的容器映射本地端口

1.提交运行中的容器为一个镜像 (这样不会丢失在容器的各种操作)

docker commit tang   tang1
### tang(运行容器名称)  tang1(生成镜像名称)

2.运行镜像并添加端口

docker run -d -it -p 8000:80 tang1:latest /bin/bash
### 小p是自定义端口  latest 是镜像的标签(最好写上专业点)

补充:docker加载volume并绑定端口

要求

已获取docker image,现在想要创建container,加载本地目录到container目录,还有映射本地和container之间的端口。

具体举例如下:

image ID: 884e0fc83dfe

设置container name: test

将本地的9000端口映射到container的80端口

加载数据卷volume:将本地的~/Desktop/test 映射到container的/test目录

实现

docker run -it --name test -v ~/Desktop/test:/test -p 9000:80 884e0fc83dfe /bin/bash
# 进入新建container
docker start test
docker attach test

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。如有错误或未考虑完全的地方,望不吝赐教。

编程技巧