docker pull 项目名 会从docker默认的仓库去拉去项目,如果是docker pull 项目名 地址 会从给定地址拉去镜像
docker run image名字 运行镜像
docker架构运行情况图:
首先客户端,也就是通过命令去docker daemon中pull拉取镜像,docker daemon首先会在docker本地仓库去找镜像如果找到了什么都不做,如果找不到就去远程仓库找该镜像,找到了就传递到本地仓库
docker run 以同样的方式去查找,如果没找都就通过pull操作去远程,在远程找到后,传到本地,并运行形成一个docker仓库。
看完上面的结构图,我们运行一个ngix镜像玩玩,首先要拉下来一个ngix镜像,那么,这个镜像名字是什么呢,我们可以去仓库查看,去网易镜像中心的网易蜂巢看看地址是:https://c.163.com/hub#/m/home/
可以直接搜索Nginx 然后点击相应的版本,复制出地址docker pull hub.c.163.com/library/nginx:latest
在linux上执行拉取命令,拉出来后续操作看下图,在前台运行ngix
另外打开一个终端查看运行情况,运行良好:
前台运行,当我们ctrl+c时就会断开,所以我们用后台运行后台运行需要加一个参数 -d 然后运行后返回一个id
进入容器内部查看
进入容器内部 选项 容器名字 执行命令 参数列表
docker exec 【options】container command【arg...】
图片中的命令会打开一个伪终端然后就跟linux一样了
exit退出容器
然后我们对网络和容器进行映射,映射后启动,主机8080端口映射容器端口80 后面是容器名字,启动,然后查看监听状态,发现已经处于监听中
我们在网址栏输入相关ip进行查看,看看ngix是够可以打开验证结果如下,也是OK的
在采用 大P的参数启动容器,大P的意思是将主机与容器所有端口进行映射
当我们在采用之前的地址访问nginx时已经访问不了了,我们采用32768端口访问如下: