一、docker的nginx简单使用
1.关于docker nginx 镜像的默认log目录存放在/var/log/nginx,默认的安装目录在/etc/nginx,默认的配置文件目录在/etc/nginx/conf.d
2.如果直接启动如 docker run -p 8088:80 --name nginx -d nginx
-p:指定端口的映射,8088为宿主主机的端口,80为容器的端口
--name:指定容器的名称,可以通过docker ps查看到,删除或者终止docker容器也可以使用这个name
-d 指定后台运行nginx镜像
执行命令行后返回如下:
此时如果需要进入此容器可以执行如下命令:
docker exec -it 7ddc9cfeba5a66659819a9a190abeb5f02201ce9d1ebbf4f743879498c48e916 /bin/bash
3.由于docker容器的目录都是虚拟的,如果容器的服务停止了或者发生什么异常情况,会导致运行在容器上服务的所有数据丢失,因此此时最好采用挂载的方式
docker run -p 8088:80 -v /data/docker/nginx/log:/var/log/nginx --name nginx -d nginx
-v:进行目录挂载,此处的含义就是将nginx的log目录挂载到宿主机上,这样即使容器挂了,nginx的日志还能在宿主机上查看的到,这个是一个非常重要的选项
4.通过Dockerfile构建自定义镜像服务
from nginx
cp /data/docker/nginx/www /data/www #将本地代码的目录拷贝到容器中
cp /data/docker/nginx/default.conf /var/nginx/conf.d/default.conf #将nginx的配置文件拷贝到容器中
run chown -R nginx.nginx /data/www #修改目录的权限
其中/data/docker/nginx/www下有个index.html文件,内容为hello world
启动default .conf就是将代码的路径改为 /data/www下
然后通过使用docker build -t nginx . 进行构建
构建成功后
docker run -p 8088:80 -v /data/docker/nginx/log:/var/log/nginx --name nginx -d nginx
然后通过浏览器访问 http://192.168.0.200:8088即可
其他类似的服务都可以同上部署
二、docker下创建centos容器,可以让一台服务器虚拟出多个服务器,让开发人员互不干扰的在服务器上工作。
1.首先获取镜像
docker pull centos
2.启动容器,将ssh的22端口映射到宿主机的11022且对目录进行挂载避免数据丢失
docker run --privileged -p 11022:22 -v /data/docker/centos/data/:/data --name centos-11022 -d -i -t centos /bin/bash
3.这个时候还无法进行ssh登录,需进入容器进行一些配置
yum install net-tools.x86_64 openssh-server openssh-clients
/usr/sbin/sshd-keygen -A
/usr/sbin/sshd
useradd wangj
passwd wangj
4. 创建好用户和密码后,就可以ssh -p11022 wangj@192.168.0.200登录docker容器。
5.当然也可以将上述部署都写入一个Dockerfile文件内,此处省略.