Docker快速Mysql,Nginx等搭建测试环境的常用命令
平时用Kubesphere
用得比较多,Docker
命令早已生疏,今天本是大年三十,该是吃好的,耍好的。可是之前给朋友搭建的测试服务器到期了,续费又太贵,这就不得不把之前的搭建的测试环境换个地方了,那就再来温习一下Docker
记录一下所用到的命令,免得以后又得去一个个熟悉。
我这里的服务器环境是Centos 7.6
,不同的操作系统,命令会有些差异。
安装Docker
安装依赖环境
1 | yum -y install yum-utils device-mapper-persistent-data lvm2 |
设置镜像源
1 | yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
在更新yum源或者配置yum源之后,我们需要执行yum makecache fast
来,将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度,默认情况下,yum 会把下载的软件包缓存起来,可以使用yum clean all
指令清除缓存
安装Docker
Docker分CE(社区版) 和EE(企业版)两个版本,我们当然是装社区版了。
1 | yum install docker-ce docker-ce-cli containerd.io |
Docker
的配置文件daemon.json
中的常用配置:
1 | { |
例如:
{
“data-root”: “/home/docker/data”, //Docker 存储所有运行时数据的根目录,如:镜像、容器、卷和网络,默认情况下为 /var/lib/docker
“registry-mirrors”:[“https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"], //Docker 镜像拉取时使用的镜像仓库加速地址
“insecure-registries”:[“192.168.0.1:5000”] //指定被认为不安全的注册表列表,允许Docker守护进程在没有TLS或使用自签名证书的情况下从这些注册表中提取映像。此处可配置为我们自己的Docker 私有镜像地址
}
daemon.json
默认在/etc/docker/daemon.json
中,我们在修改后,需要刷新daemon.json
文件
1 | systemctl daemon-reload |
设置开机自动启动
systemctl enable docker
启动Docker服务
systemctl start docker //启动Docker服务
systemctl restart docker //重启
Docker常用命令
1 | ## 是否安装docker |
部署常用应用
搭建MySQL数据库
1 |
|
-p 中33306:3306,前面为映射到宿主机上的端口,后面为容器中的端口, -v /home/mysql/log:/var/log/mysql,前面为宿主机上的目录,后面为容器中的目录
搭建Redis
1 | docker run -itd --name redis -p 16379:6379 redis --requirepass "Redis密码" |
搭建Nginx
1 | docker run \ |
构建Java应用镜像并运行
这里简单的构建一个Java应用镜像,因为是测试环境,就不将应用复制到镜像中,直接映射应用路径即可
Dockerfile
1 | FROM openjdk:8 |
执行镜像构建命令
1 | docker build -t pms-admin . |
启动容器
1 | docker run -p 8080:8080 --name pms-admin -v /root/pms/project/:/pms -v /root/pms/project/logs:/home/pms/logs -v /root/pms/project/uploadPath/:/root/pms/uploadPath -d pms-admin |
基于Docker
构建一个测试环境,效率非常高,要是以前,要搭建一个像若依
这样的测试环境,安装MySQL
,Nginx
,Redis
还有Java
运行环境,慢的话,也要小半天吧,就这几行代码,复制可用,分分钟就搞好一个环境了。
今天成都的天气真是好,该出去晒晒太阳了。
Docker快速Mysql,Nginx等搭建测试环境的常用命令