赞
踩

问题

开发、测试、生产环境不统一,造成项目测试、部署时产生问题
解决方案

使用容器化技术,将环境和项目一起发送给测试、部署人员,测试人数和运维人员直接使用发过 来的环境和项目进行操作,避免环境不统一产生的问题.
docker官网:Docker: Accelerated Container Application Development

Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与 基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式 来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少 编写代码和在生产环境中运行代码之间的延迟。
Docker 镜像(Image),就相当于是一个 root 文件系统,也可以理解是一个安装软件包 (.exe)(Linux系统+安装的软件)。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统,Tomcat、mysql等也有相关的景象。
就好比安装好的软件(Linux系统+安装的软件),镜像(Image)和容器(Container)的 关系,就像是面向对象程序设计中的类(镜像)和实例(容器)一样,镜像是静态的定义,容器 是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。就好比通过镜像安装 的系统,或者通过安装软件安装的软件的系统环境和软件。
仓库可看成一个代码控制中心,用来保存镜像。其本质就是一个镜像仓库。


- # yum 包更新到最新
- yum update
- # 安装需要的软件包, yum-utils 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
- yum -y install yum-utils device-mapper-persistent-data lvm2
阿里云服务器不用设置,VMware虚拟机需要做。
- # 设置yum源
- yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
- # 设置yum缓存
- yum makecache fast
- # 安装docker,出现输入的界面都按 y
- yum -y install docker-ce # Vmware中的安装方式
- #yum -y install docker #阿里云安装方式
- # 启动docker
- systemctl start docker
- # 查看docker版本,验证是否验证成功
- docker -v






- sudo tee /etc/docker/daemon.json <<-'EOF'
- {
- "registry-mirrors": ["https://ynzn5u2a.mirror.aliyuncs.com"]
- }
- EOF
- systemctl daemon-reload
- systemctl restart docker
- docker -v #查看docker版本
- docker images
- docker images -q # 查看所有镜像的id
docker search tomcat #到docker仓库中搜索对应名称的镜像
docker pull tomcat:7.0.56

docker push : 将镜像上传到镜像仓库


运行安装镜像,就会产生一个容器
docker run hello-world

- docker pull hello-world
- docker run hello-world
镜像运行执行会产生一个容器。安装好的容器是不会运行的。
问题
数据卷


数据卷挂载
docker run -it -v 宿主机目录:容器内目录 centos
-v:目录映射,即数据卷挂载,可以使用多个-v做多个目录或文件映射。
docker pull tomcat:7.0.56
- docker run -id -p 8080:8080 -v /webapps:/usr/local/tomcat/webapps --name
- mytomcat tomcat:7.0.56
-it和-id可以在docker run指令中使用
-it:创建交互式容器(前台容器),创建容器之后就会自动进入容器中,退出容器,容器自动 停止
-id:创建守护式容器(后台容器),创建容器之后不会自动进入容器中,退出容器,容器不会 自动停止
交互式容器:以交互式方式创建并启动容器(前台),启动完成后,直接进入当前容器。使用 exit命令退出容器,容器就会停止
守护式容器:以守护式方式创建容器(后台),创建容器之后,不会立刻进入容器中,容器是 在后台 运 行的,使用exit命令退出容器后,容器不会停止,会一直运行。

- docker ps #查看正在运行的容器
- docker ps -a #查看所有容器

执行或进入容器
docker exec -it 容器ID /bin/bash
/bin/bash:使用/bin/bash来解释执行指令。

- exit 容器停止退出 #前台容器会停止退出,后台容器只是退出
- ctrl+P+Q 容器不停止退出

docker restart 容器id //需要把防火墙打开 默认要启用iptables规则
进入到容器中,再进入到tomcat的目录中执行以下指令:
cp -r webapps.dist/* webapps
docker search redis
docker pull redis:5.0
docker run -id --name=c_redis -p 6379:6379 redis:5.0
./redis-cli.exe -h 192.168.149.135 -p 6379
Docker容器中使用的Linux系统是centos系统


Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。