DOCKER_笔记(之二)

docker 进行端口映射

docker里面的容器相当于一个微服务,对于服务,端口的使用是很重要的
我们可以使用 -p 参数执行端口映射
1、映射所有 IP 地址上的指定端口到容器内部

-p hostPort:containerPort
docker run -it -p 80:80 docker.io/centos:latest /bin/bash

DOCKER_笔记(之二)
2、映射指定 IP 地址上的指定端口到容器内部

-p ip:hostPort:containerPort

3、映射指定 IP 地址上的任意端口到容器内部

-p ip::containerPort

实例
在docker上安装nginx服务,并映射80端口
1、安装centos镜像的容器

docker run -it --name nginx docker.io/centos:latest /bin/bash

2、从容器里面测试是否能上网(说明可以,不行需要开网络的转发功能)

ping 114.114.114.114

DOCKER_笔记(之二)
3、在docker 里面安装nginx

yum list | grep nginx
yum install nginx.x86_64

DOCKER_笔记(之二)
4、查看下载完NG的配置文件(下载完成)

cd ./etc/nginx/
ls
DOCKER_笔记(之二)

5、这里介绍一个好用的上传文件的工具

yum install lrzsz
rz
安装 完成,方便我们将自己配置好的配置文件上传到容器里

DOCKER_笔记(之二)
6、退出容器,将容器做成一个镜像,方便我们以后使用

docker commit -it 74bf0165b29d nginx:v1

DOCKER_笔记(之二)
7、运行容器并映射端口

docker run -it -p 80:80 nginx:v1 bin/bash

8、查看端口映射情况

docker ps -a

DOCKER_笔记(之二)
9、查看端口的代理情况

netstat -antup | grep 80

DOCKER_笔记(之二)
注:要检查centos上的防火墙是否开启80端口
10、访问代理的网页
简单的代理转发,只为看实验效果(下面是我在NG里的配置文件)

server {
listen 80;
server_name 172.21.180.231;
charset utf-8;
location / {
proxy_pass https://www.baidu.com/
}
}

DOCKER_笔记(之二)
代理成功!!