docker 运行nginx并进入容器内部、端口映射
一、docker运行容器
1、从网易蜂巢镜像仓库下载nginx镜像 ;
2、拉取镜像到本地,并查看本地的镜像:
$ docker pull hub.c.163.com/library/node:latest
$ docker images
3、运行容器
命令格式:
docker run [option] IMAGE [COMMOND] [ARG...]
例如:
docker run -d --name nginx1.0 hub.c.163.com/library/nginx # -d: 后台启动容器; --name:容器的别名,默认为随机的
容器的操作:
docker ps # 查看正在运行的容器 docker ps -a # 查看所有容器 docker ps -l # 查看最近一次运行的容器 docker create 容器名或者容器ID # 创建容器 docker start [-i] 容器名 # 启动容器 docker run 容器名或者容器ID # 运行容器,相当于docker create + docker start docker attach 容器名或者容器ID bash # 进入容器的命令行(退出容器后容器会停止) docker exec -it 容器名或者容器ID bash # 进入容器的命令行 docker stop 容器名 # 停止容器 docker rm 容器名 # 删除容器 docker top 容器名 # 查看WEB应用程序容器的进程 docker inspect 容器名 # 查看Docker的底层信息
4、进入容器内部:
$ docker exec -it nginx1.0 bash
二、docker 网络
linux使用namespace来进行资源的隔离 ,docker的隔离性;
1、docker的网路类型分为:
Bridge模式:桥接(默认的模式)
host模式:容器将不会获得独立的network namespace,将和主机公用一个;即在docker中使用网络和主机上一样的;
None:不与外界任何东西进行通讯
2、采用Bridge的时候需要和主机通讯,就需要使用端口映射;
3、端口映射
$ docker run -d --name nginx1.1 -p 8080:80 hub.c.163.com/library/nginx # 主机的8080端口映射到容器中的80端口