可以看到其配置是外部导入的,方便分模块化的管理。
(5)查看默认配置文件default.conf
cat /etc/nginx/conf.d/default.conf
可以看到其欢迎页的目录是在/usr/share/nginx/html文件中。
(6)修改本地上传的文件名为html,并复制到Nginx容器的/usr/share/nginx目录中
mv 本地文件名 htmldocker cp html mynginx:/usr/share/nginx 3.4 Redis部署
(1)拉取镜像
docker pull redis(2)创建容器
docker run -di --name=myredis -p 6379:6379 redis(3)进入容器并通过 redis-cli 连接测试使用 redis 服务。
docker exec -it myredis /bin/bash4. 备份与迁移 4.1 容器保存为镜像 docker commit 容器名称 镜像名称
例:docker commit mynginx mynginx_i 4.2 镜像备份
将镜像保存为文件
docker save -o 文件名 镜像名例:docker save -o mynginx.tar mynginx_i
-o:output
4.3 镜像恢复与迁移首先我们先删除掉自己创建的mynginx_i镜像,然后执行此命令进行恢复
docker load -i 文件名例:docker load -i mynginx.tar
-i:输入的文件
5. Dockerfile 5.1 什么是DockerfileDockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。
1、对于开发人员:可以为开发团队提供一个完全一致的开发环境; 2、对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了; 3、对于运维人员:在部署时,可以实现应用的无缝移植。
5.2 常用命令 命令作用FROM image_name:tag 定义了使用哪个基础镜像启动构建流程
MAINTAINER user_name 声明镜像的创建者
ENV key value 设置环境变量 (可以写多条)
RUN command 是Dockerfile的核心部分(可以写多条)
ADD source_dir/file dest_dir/file 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
COPY source_dir/file dest_dir/file 和ADD相似,但是如果有压缩文件并不能解压
WORKDIR path_dir 设置工作目录
6. 使用脚本创建 JDK8 镜像
(1) 创建目录
mkdir –p /usr/local/dockerjdk8(2)下载 jdk-8u301-linux-x64.tar.gz 并上传到服务器(虚拟机)中的 /usr/local/dockerjdk8 目录
(3)创建文件 Dockerfile (文件名必须是Dockerfile)
vi Dockerfile(4)在Dockerfile 中编辑内容
# 依赖镜像名称和IDFROM centos:7
# 指定镜像创建者信息
MAINTAINER tanghuan
# 切换工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把java添加到容器中
ADD jdk-8u301-linux-x64.tar.gz /usr/local/java/
# 配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_301
ENV JRE_HOME /usr/local/java/jdk1.8.0_301/jre
ENV PATH $JAVA_HOME/bin:$PATH
(5)执行命令构建镜像
docker build -t \'jdk:1.8\' .
-t:表示镜像名:标签
.:表示在当前目录下找 Dockerfile 文件
(5)查看镜像是否构建完成
docker images