测试/生产环境下的docker使用简介

为什么要使用docker:

在项目部署时,由于各种原因,其它部门的人员在安装 jdk\mysql\redis\mq 等软件以及修改相关配置文件时很容易出错,研发人员需要写很多安装说明,费时费力而且效果也不好。所以打算直接把相关的软件都打包到镜像中,简化操作。

1、安装docker ( yum install docker ) 、配置国内镜像 略(win10环境)

       启动docker 服务 : service docker start

       在线拉取就不介绍了,以下是针对我们从docker官方拉取后导出的 .tar镜像,

镜像可从这里获取  https://hub.docker.com 。

 镜像拉取速度慢,可以从这里获取加速器地址: https://www.daocloud.io/mirror

导出镜像:

      docker save -o  centos-mysql-57-centos7.tar    centos/mysql-57-centos7

      docker save -o  mbentley-tomcat7.tar                mbentley/tomcat7

      docker save -o  kilsoo75-redis-master.tar           kilsoo75/redis-master

2、导入本地镜像 (把镜像复制到当前目录下)

2.1 数据库:(基于centos/mysql-57-centos7

docker load -i centos-mysql-57-centos7.tar

 或 docker load -i  /e/centos-mysql-57-centos7.tar

2.2 web容器:(基于mbentley/tomcat7

docker load -i mbentley-tomcat7.tar

2.3 redis容器:(基于kilsoo75/redis-master

docker load -i kilsoo75-redis-master.tar

3、创建并启动容器

3.1 创建并启动mysql容器  (一定要把数据文件映射到本地硬盘,预先授权  chmod  777  /opt/data

docker run -d --name mysql3306 -e MYSQL_USER=hly -e MYSQL_PASSWORD=hly@123 -e MYSQL_DATABASE=his3 -p 3306:3306 -v /e/data:/var/lib/mysql/data --privileged=true centos/mysql-57-centos7

执行完上面的语句应该无法正常启动容器,原因是对宿主机的目录没有写权限。需要先授权外挂的目录:

chmod 777 *

说明:参考 https://hub.docker.com/r/centos/mysql-57-centos7/

1)--name mysql3306  表示容器名称:mysql3306 

 2)-v /e/data:/var/lib/mysql/data 表示把windows E盘下data文件目录挂载为 mysql数据存放目录.

3) --privileged=true   给容器加特权,以避免Docker文件挂载因文件所属用户为mysql引起的权限问题。

如果启动后想进入容器可:docker exec -it  mysql3306   /bin/sh 

3.2 创建并启动tomcat容器(一定要把上传的数据文件映射到本也硬盘  chmod  777  /e/webapps


docker run -d --name tomcat8080 -p 8080:8080  -v /e/webapps:/opt/tomcat/webapps -v /e/logs:/tomcat/logs --privileged=true mbentley/tomcat7

1)映射文件共享目录 webapps 用于发布web项目的war包、logs  查看历史日志

2)映射Tomcat端口  

3.3 创建并启动redis服务器 

docker run -d --name redis-master -e REDIS_PASSWORD=hly123 -e MASTER_PASSWORD=hly123 -p 6379:6379   --privileged=true kilsoo75/redis-master

如果启动后想进入容器可:docker exec -it  tomcat8080   /bin/sh 

 其中用到的映射关键字如下

--name:容器名字

-d :       以守护进程方式运行(后台)

 -p:         端口, 可以有多个-p

-v:        共享目录, 可以有多个-p

4、容器创建完成后,以后如果需要关闭和重启,只需要使用

     docker  stop <容器名> 、docker start <容器名> 、docker restart <容器名>  即可:

    如:docker  stop  mysql3306

其它软件的安装和配置大同小异,配置完成后,直接固化到镜像导出,把导出的镜像和脚本文件复制给其它部门安装。

查询镜像:docker images  

查询容器:docker ps -a

删除镜像:docker rmi <镜像name或ID>

删除容器:docker rm <容器name或ID>

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值