docker 运行nginx并进入容器内部、端口映射

时间:2020-12-16 17:43:45

一、docker运行容器

1、从网易蜂巢镜像仓库下载nginx镜像 ;

2、拉取镜像到本地,并查看本地的镜像:

$ docker pull hub.c.163.com/library/node:latest
$ docker images

docker 运行nginx并进入容器内部、端口映射

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 运行nginx并进入容器内部、端口映射

 

 二、docker 网络

linux使用namespace来进行资源的隔离 ,docker的隔离性;

1、docker的网路类型分为:

Bridge模式:桥接(默认的模式)

host模式:容器将不会获得独立的network namespace,将和主机公用一个;即在docker中使用网络和主机上一样的;

None:不与外界任何东西进行通讯

2、采用Bridge的时候需要和主机通讯,就需要使用端口映射

 docker 运行nginx并进入容器内部、端口映射

3、端口映射

$ docker run -d --name nginx1.1 -p 8080:80 hub.c.163.com/library/nginx  # 主机的8080端口映射到容器中的80端口