docker容器高级操作

1. 映射端口

我们可以使用-p参数来映射端口

docker run -p 容器外端口:容器内端口

现在我们有这样一个需求,就是使用宿主机的8080端口来访问nginx。

 docker run -d -p8080:80 --name 8080-nginx  e791337790a6

在这里插入图片描述
使用docker ps 看下容器,可以看到PORTS这栏将宿主机8080端口映射到容器的80端口上去了。
在这里插入图片描述
我们使用浏览器访问一下
在这里插入图片描述

2. 挂载数据卷

我们可以使用-v参数来挂载数据卷

docker run -v宿主机目录:容器目录

这里我们要将本地的html文件夹挂载到nginx容器里面
首先我们先把baidu的首页down下来。

 mkdir html
 wget www.baidu.com -O index.html

使用-v参数挂载目录

docker run --rm -d --name v-nginx -p8080:80  -v /home/dc2-user/html:/usr/share/nginx/html e791337790a6

在这里插入图片描述
在这里插入图片描述
浏览器访问:

在这里插入图片描述
这时候我们就可以访问到刚才wget下来那个页面了,把这个页面放到宿主机 /home/dc2-user/html 目录下面了。

3. 传递环境变量

我们可以使用-e 参数来传递环境变量,传递环境变量是容器较虚拟机技术的优势,我们在启动虚拟机的时候没有好的办法传递参数,按照特定的想法来进行初始化,但是容器可以使用环境变量往容器中传递参数,从而打破信息孤岛。

docker run -e key=value

打印我们传递的环境变量(我们这边使用的nginx镜像):

docker run --rm --name print-env -e E_PORTS=1010 e791337790a6 printenv

在这里插入图片描述
我们可以看到我们自己传递的环境变量:E_PORTS=1010

4. 容器内安装软件

容器内安装软件需要我们进入容器中,然后使用yum/apt-get/apt等命令进行安装软件,这个命令需要看linux发行版版本。
我们先运行一个nginx容器:

docker run -d --rm --name tool-nginx -p8080:80 e791337790a6

在这里插入图片描述
然后进入容器终端:

 docker exec -it 1f33f0abc17856be9118d030a4dba7e8fc560c4cf736b08c8d6fcaac0e38e165 /bin/bash

之后curl命令一下,发现没有
在这里插入图片描述
使用命令在容器内安装(apt-get update && apt-get install curl -y ):
在这里插入图片描述
最后在容器中执行curl命令发现就已经安装好了:
在这里插入图片描述

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页