nginx
需求:在docker中运行nginx并且挂载卷到nginx的指定目录下 目的:修改网页中的内容
docker run -d --name nginx1 --privileged=true -p 8080:80 -v /home/volume/:/usr/share/nginx/html 12766a6745ee
注意:挂载卷是 将host上的内容覆盖到容器中,若要更改nginx网页信息,则先将容器中/usr/share/nginx/html/给拷贝到host主机上,然后在挂在卷
python
-在dockerhub上拉取容器并且运行,进入容器并且运行.py程序
-python版本
-拉取python
-运行python容器
-指定python的工作目录
-进入python并执行python程序
-退出python程序
-dockerfile中执行上述内容操作
实现:
-python版本是 3.6
-拉取python docker pull python
-运行python容器 docker run -itd -v /example_app/:/mnt/example python:3.6 /bin/bash 这个后面是/bin/bash的
-指定python的工作目录
-进入python并执行python程序 docker exec -it 【contanir id】/bin/bash
具体:docker run -dit --name python -v /home/volume/:/home/volume/ --privileged=true python:3.6
-dockerfile具体实现
-dockerfile
FROM python:3.6
VOLUME /home/volume/python:/home/volume/python
WORKDIR /home/volum/python
CMD /bin/bash
-运行:
docker build -f Dockerfile -t python2 .
reids
【【整理容器中安装reids的目的与过程】】
-让redis可用,向mysql一样创建一个库,创建远程连接
-在dockerfile中拉取redis镜像
-在运行redis镜像成容器,redis的启动要指定redis启动的配置文件,用redis.conf来启动redis服务
- -v挂在容器卷,修改redis的配置文件 注意:在拉下来的redis镜像中没有redis.conf这个文件,方法一:在host主机上安装redis这个应用,找到redis.conf文件,方法二:在网络上找到redis.conf这个文件中的信息,复制到一个文件中然后更改这个文件的权限 这里解释一下为什么要拷贝redis,是因为我要用我自己搞的的conf这个文件
-允许redis外地连接,在host主机上注释掉redis.conf中的bin 127这一行
-将host主机上redis.conf中daemonize no 因为该配置会和 docker run -d 冲突
-验证修改redis.conf文件,重启该容器,我修改的容器生效了
-redis进行远程连接
实现:
-运行redis镜像成容器 docker run -dit redis-server 【/etc/redis/redis.conf】这个是配置文件的位置
所以进一步更规范: docker run -dit -v /home/redis/redis.conf:/etc/redis/redis.conf redis-server /etc/redis/redis.conf
这里讲解一下:1,-v挂载卷是从host主机上安装redis这个应用然后将redis拷贝到home目录下/home/redis/redis.conf及那个它挂载到容器中/etc/redis/redis.conf(这个目录与文件容器中本身是没有的,但是直接运行redis是能够直接运行的,这样做的目的是为了让这个目录可控)
2, 真正使用redis启动是通过 redis-server 【挂载卷的配置文件】
3,-v挂载卷中间的分割是通过:来分割的,切记:冒号左右不能有空格
真正的实现: docker run --name myr3 --privileged=true -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/app/redis/data:/data -dit 3c3da61c4be0 redis-server /etc/redis/redis.conf
-验证修改redis.conf文件,重启该容器,我修改的容器生效了 ---没问题 通过修改redis.conf中的database来验证,然后重启容器