docker运行nginx镜像容器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_20009015/article/details/84705752

先到网易蜂巢中心查找镜像

https://c.163yun.com/hub#/m/home/

laixiaoxing xihanzhiwen2017

进去之后

library表示是官方库

点进去之后

复制地址

docker pull hub.c.163.com/library/nginx:latest

拉取下来

然后docker images

可以看到镜像名字为hub.c.163.com/library/nginx

再docker run hub.c.163.com/library/nginx

此时会发现控制台没有反应 因为这个是前台运行,我们看下另一个控制台

docker ps 可以查看启动的容器信息 发现已经启动

终止前台进程 ctr+c4

如果要后台运行 docker run -d 镜像名

返回的是一个容器的

id 58b262f5947d7b23fdb7ce83a735b1307971b76eb5e8855db22caf79763e0932

ps:查看一个命令的作用 docker 命令名 --help

比如说 docker ps --help 作用是 列出容器

docker exec --help 作用是 在运行的容器里执行一个命令

比如说 docker exec -it 58b bash

//参数i 表示保证我们的输入有效 t表示分配一个终端 58b是之前的容器ID前几位 会自动识别 bash表示打开一个终端

相当于是一台新的linux系统 ,里面支持所有的linux命令

现在来运行nginx 先查找到位置

ps命令可以查看启动的进程

报这个的原因是因为该nginx镜像没有打包ps命令

使用如下命令安装

apt-get update && apt-get install procps

安装完毕 输入命令

exit 命令退出

docker stop 容器id 停止容器运行

docker网络

网络类型有Bridge 独立一个网络,host 和主机一致的网络环境, None 无网络

端口映射:

将主机端口映射到访问docker端口

host模式 直接连接eth0主机的网卡

Bridge则是网桥

docker run -d 表示后台运行 -p表示开启端口映射 8080是主机端口 80是容器端口

将主机端口映射到容器端口

访问docker容器内的应用

此时访问 成功访问到容器内的nginx

用docker ps 可以看到容器端口80和主机端口8080映射上了

还有另一个命令docker run -d -P hub.c.163.com/library/nginx 随机开启的端口 和容器映射

此时查看本机的端口 natstat命令可以查看端口

netstat -na|grep 32768

可以看到32768开启

同时访问 也成功

猜你喜欢

转载自blog.csdn.net/qq_20009015/article/details/84705752