龙空技术网

kubernetes基础知识之进入docker容器和访问服务

王啸皓月山巅 105

前言:

如今我们对“访问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