前言:
如今我们对“访问docker容器的nginx”都比较讲究,兄弟们都想要了解一些“访问docker容器的nginx”的相关内容。那么小编在网络上收集了一些有关“访问docker容器的nginx””的相关知识,希望朋友们能喜欢,兄弟们一起来学习一下吧!进入docker内部,开启一个tty终端的命令是:
docker exec -it $docker_name /bin/sh
查看docker 容器里面的文件及目录:
docker exec $docker_name ls
docker exec $docker_name ls /etc
进入docker容器内部:
docker exec -it $docker_name sh
制作一个docker镜像,可以使用dockfile去创建:
FROM Ubuntu 告诉docker从哪个镜像启动
RUN apt-get update && apt install -y nginx 在指定的镜像里面执行特定的命令
CMD [ "/usr/sin/nginx","-g","daemon off;"]
告诉docker,启动容器时执行的命令。
这里的ubuntu镜像是相当于docker 从公共镜像仓库docker hub里面拉取了一个镜像,相当于操作:
docker pull docker.io/library/ubuntu:latest
构建docker镜像,使用docker build命令:
docker build . -t my-nginx:ubuntu -f Dockerfile
这里面的点.是表示在构建docker镜像过程中的上下文环境目录。当我们使用docker build构建docker镜像时,实际上是在docker 引擎中完成的,而不是本机环境。当构建镜像时,由用户指定构建镜像的上下文路径,而docker build会将这个路径下的所有文件打包上传给docker引擎,docker引擎把这些文件打开后,就能获取到所有指定上下文中的文件了。
使用新的镜像my-nginx:ubuntu启动容器:
docker run --name my-nginx-ubuntu -d my-nginx:ubuntu
-d 指定的是镜像名称:标签(ubuntu)
执行docker ps -a可以查看到容器名。
容器信息显示的COMMAND是在制作docker镜像时CMD指定的。
访问容器里面的web服务:
docker exec -it $docker_name sh
ps -aux| grep nginx
curl localhost:80
宿主机访问容器中的端口:
docker rm -f my-nginx-alpine
-f是强制 --force强制的意思。
docker run --name my-nginx-alpine -d -p 8080:80 nginx:alpine
左边是宿主机的端口,右边是容器的端口。
curl 宿主机IP:8080或者在宿主机上执行:
curl localhost:8080
这样就可以访问容器的80端口了。
鼓励的话语:莫欺少年穷,等你下跪的时候,恐怕为时已晚!
标签: #访问docker容器的nginx