项目中使用到Redis,平常都是别人搭建的,今天试着在Google Cloud Platform 上搭建一个学习环境. 1.使用 docker pull redis 从docker hub中下载镜像 2.使用 docker images 查看是否成功安装,成功的话会显示镜像列表 3.使用 docker run --name container-name -d image-name 命令,来运行一个容器 4.使用 docker container ps 查看容器列表,若上一步成功的话,将会显示出t…
Docker是一个基于Go语言实现的开源应用容器引擎,通过对应用组件的封装.分发.部署.运行等生命周期的管理,使程序及其运行环境能够做到"一次封装,到处运行". Docker架构 Docker是一个客户端-服务器(C/S)架构的程序,Docker客户端只需向Docker守护进程发送请求,守护进程将完成构建.运行.分发等所有工作并返回结果.Docker客户端可以通过docker命令行工具或者REST API与守护进程通信. Client:Docker客户端,是Docker用户和Docke…
Dockerfile中的WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行. 相当于设置容器的工作目录了.我们来看一个dockerfile文件 #test FROM ubuntu MAINTAINER hello RUN mkdir /mydir RUN echo hello world > /mydir/test.txt WORKDIR /mydir CMD ["more" ,"test.txt"] 假设根据该dockerfil…
docker是一个lxc升级版的容器类虚拟环境,具有快速部署,灵活,易迁移的虚拟机模式,现在各大公司已经开始广泛使用为了自己方便学习linux,需要多台虚拟机环境,但是vmware开启多台虚拟机时需要花费大量内存,所以研究了一下docker,操作方便,真的很好用发现好多文章都是使用ubuntu的,但是在真实环境中,使用centos居多(国内形势......) 使用环境:Centos6.8 x64 1.安装eprl yum -y install http://dl.fedoraproject.or…
本文地址:https://www.cnblogs.com/veinyin/p/10406378.html  Docker 是一个容器,可以想象成一个轻便的虚拟机,但不虚拟硬件和操作系统. 优点:启动快.占用内存小.运行环境一致,便于开发测试.便于维护. 基本概念:镜像.容器.仓库 镜像:一个特殊的文件系统,提供容器运行时所需文件以及运行时的配置参数,不包含动态数据,内容在构建之后不改变,由多层文件系统联合而成. 容器:相当于镜像的一个实例,实质是进程.容器应将数据写入数据卷中,避免写入容器存储层…
在介绍VOLUME指令之前,我们来看下如下场景需求: 1)容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上.一旦容器删除后,这些数据就没了,除非我们人工备份下来(或者基于容器创建新的镜像).能否可以让容器进程持久化的数据保存在主机上呢?这样即使容器删除了,数据还在. 2)当我们在开发一个web应用时,开发环境是在主机本地,但运行测试环境是放在docker容器上. 这样的话,我在主机上修改文件(如html,js等)后,需要再同步…
ONBUILD指令可以为镜像添加触发器.其参数是任意一个Dockerfile 指令. 当我们在一个Dockerfile文件中加上ONBUILD指令,该指令对利用该Dockerfile构建镜像(比如为A镜像)不会产生实质性影响. 但是当我们编写一个新的Dockerfile文件来基于A镜像构建一个镜像(比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令. 需要注意的是,如果是再利…
USER指令用于指定容器执行程序的用户身份,默认是 root用户. 在docker run 中可以通过 -u 选项来覆盖USER指令的设置. 举例:docker run -i -t -u mysql newmysqldb /bin/bash 显示的shell提示符是: mysql@57cd57edba38:/$ 注意:docker容器中的root用户密码是随机分配的.…
ENV指令用来在镜像构建过程中设置环境变量.我们来看一个Dockerfile的例子: #test FROM ubuntu MAINTAINER hello ENV MYDIR /mydir RUN mkdir $MYDIR RUN echo hello world > $MYDIR/test.txt 假设用上面的dockerfile构建了一个叫myimage的镜像.运行  docker run -i -t myimage /bin/bash 我们发现新建的容器中有了 /mydir目录,并有了/m…
本文介绍Dockerfile的 ENTRYPOINT指令的含义. 先回顾下CMD指令的含义,CMD指令可以指定容器启动时要执行的命令,但它可以被docker run命令的参数覆盖掉. ENTRYPOINT 指令和CMD类似,它也可用户指定容器启动时要执行的命令,但如果dockerfile中也有CMD指令,CMD中的参数会被附加到ENTRYPOINT 指令的后面. 如果这时docker run命令带了参数,这个参数会覆盖掉CMD指令的参数,并也会附加到ENTRYPOINT 指令的后面. 这样当容器…