mirror of
				https://github.com/yeasy/docker_practice.git
				synced 2025-10-31 18:21:33 +00:00 
			
		
		
		
	| @@ -4,15 +4,15 @@ | ||||
| 当使用 -P 标记时,Docker 会随机映射一个 `49000~49900` 的端口到内部容器开放的网络端口。 | ||||
|  | ||||
| 使用 `docker ps` 可以看到,本地主机的 49155 被映射到了容器的 5000 端口。此时访问本机的 49155 端口即可访问容器内 web 应用提供的界面。 | ||||
| ``` | ||||
| $ sudo docker run -d -P training/webapp python app.py | ||||
| $ sudo docker ps -l | ||||
| ```bash | ||||
| $ docker run -d -P training/webapp python app.py | ||||
| $ docker ps -l | ||||
| CONTAINER ID  IMAGE                   COMMAND       CREATED        STATUS        PORTS                    NAMES | ||||
| bc533791f3f5  training/webapp:latest  python app.py 5 seconds ago  Up 2 seconds  0.0.0.0:49155->5000/tcp  nostalgic_morse | ||||
| ``` | ||||
| 同样的,可以通过 `docker logs` 命令来查看应用的信息。 | ||||
| ``` | ||||
| $ sudo docker logs -f nostalgic_morse | ||||
| ```bash | ||||
| $ docker logs -f nostalgic_morse | ||||
| * Running on http://0.0.0.0:5000/ | ||||
| 10.0.2.2 - - [23/May/2014 20:16:31] "GET / HTTP/1.1" 200 - | ||||
| 10.0.2.2 - - [23/May/2014 20:16:31] "GET /favicon.ico HTTP/1.1" 404 - | ||||
| @@ -22,28 +22,28 @@ $ sudo docker logs -f nostalgic_morse | ||||
|  | ||||
| ### 映射所有接口地址 | ||||
| 使用 `hostPort:containerPort` 格式本地的 5000 端口映射到容器的 5000 端口,可以执行 | ||||
| ``` | ||||
| $ sudo docker run -d -p 5000:5000 training/webapp python app.py | ||||
| ```bash | ||||
| $ docker run -d -p 5000:5000 training/webapp python app.py | ||||
| ``` | ||||
| 此时默认会绑定本地所有接口上的所有地址。 | ||||
|  | ||||
| ### 映射到指定地址的指定端口 | ||||
| 可以使用 `ip:hostPort:containerPort` 格式指定映射使用一个特定地址,比如 localhost 地址 127.0.0.1 | ||||
| ``` | ||||
| $ sudo docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py | ||||
| ```bash | ||||
| $ docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py | ||||
| ``` | ||||
| ### 映射到指定地址的任意端口 | ||||
| 使用 `ip::containerPort` 绑定 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。 | ||||
| ``` | ||||
| $ sudo docker run -d -p 127.0.0.1::5000 training/webapp python app.py | ||||
| ```bash | ||||
| $ docker run -d -p 127.0.0.1::5000 training/webapp python app.py | ||||
| ``` | ||||
| 还可以使用 udp 标记来指定 udp 端口 | ||||
| ``` | ||||
| $ sudo docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py | ||||
| ```bash | ||||
| $ docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py | ||||
| ``` | ||||
| ### 查看映射端口配置 | ||||
| 使用 `docker port` 来查看当前映射的端口配置,也可以查看到绑定的地址 | ||||
| ``` | ||||
| ```bash | ||||
| $ docker port nostalgic_morse 5000 | ||||
| 127.0.0.1:49155. | ||||
| ``` | ||||
| @@ -52,6 +52,6 @@ $ docker port nostalgic_morse 5000 | ||||
| * -p 标记可以多次使用来绑定多个端口 | ||||
|  | ||||
| 例如 | ||||
| ``` | ||||
| $ sudo docker run -d -p 5000:5000  -p 3000:80 training/webapp python app.py | ||||
| ```bash | ||||
| $ docker run -d -p 5000:5000  -p 3000:80 training/webapp python app.py | ||||
| ``` | ||||
|   | ||||
		Reference in New Issue
	
	Block a user