docker规范了安装步骤
安装分为以下几点总体步骤
- 搜索
- 拉取
- 查看
- 启动
- 停止
- 移除
Tomcat安装
按照标准步骤下载的是最新版本需要删除webapps
不想多余操作的使用这个
# run会自动查询本地是否存在镜像,如果不存在就会从仓库下载 所以可以省去 搜索、拉取、查看三个步骤 直接启动
docker run -d -p 8080:8080 --name t1 billygoo/tomcat8-jdk8
标准步骤:
- 搜索
-
docker search tomcat
-
- 拉取
-
docker pull tomcat
-
- 查看
-
docker images tomcat
-
- 启动
-
# 启动tomact docker run -d -p 8080:8080 tomcat # 进入 docker exec -it t1 bash # 新版webapps是空 有数据的是webapps.dist所以有了以下操作 rm -r webapps mv webapps.dist webapps # 开放服务器8080 使用浏览器访问服务器ip+8080即可
-
- 停止
-
docker stop t1
-
- 移除
-
docker rm -f t1
-
Mysql安装
# -e MYSQL_ROOT_PASSWORD=123456 环境编辑,设置root用户密码为123456
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name=m1 mysql:5.7
mysql容器跑起来了,但如果容器被删掉我们的数据怎么办?
使用容器数据卷
# 启动命令
docker run -d -p 3306:3306 --privileged=true -v /ttst/mysql/log:/var/log/mysql -v /ttst/mysql/data:/var/lib/mysql -v /ttst/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name=m1 mysql:5.7
# 配置中文乱码问题
cd /ttst/mysql/conf
vim my.cnf
直接复制即可不用手敲
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
重启服务
docker restart m1
# 尝试插入中文,发现乱码问题被解决
数据卷备份成功了么?测试一下
docker rm -f m1
# 查看navicat或者其他工具 发现mysql确实没了 重新启动
docker run -d -p 3306:3306 --privileged=true -v /ttst/mysql/log:/var/log/mysql -v /ttst/mysql/data:/var/lib/mysql -v /ttst/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name=m1 mysql:5.7
# 启动完重新查看发现mysql恢复了。
- 启动命令讲解
- docker run -d -p 3306:3306 --privileged=true # 正常启动命令,端口映射 容器卷权限设定
- -v /ttst/mysql/log:/var/log/mysql # 绑定log
- -v /ttst/mysql/data:/var/lib/mysql # 绑定data
- -v /ttst/mysql/conf:/etc/mysql/conf.d # 绑定配置
- -e MYSQL_ROOT_PASSWORD=123456 --name=m1 mysql:5.7 # root密码设为123456 给容器起名为m1
Redis安装
不多说直接容器数据卷
redis安装需要先创建一个redis的配置文件
# 创建redis目录
mkdir -p /docker/redis/conf
# 创建配置文件
vim /docker/redis/conf/redis.conf
将下面链接里的配置复制进去
已经配置好了密码,访问开放等基本配置 密码是:123456
docker run -d -p 6379:6379 --privileged=true --name=r1 -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data redis redis-server /etc/redis/redis.conf
Elasticsearch 安装
挂载目录创建
mkdir -p /docker/elasticsearch/{config,data,plugins}
配置文件
echo "http.host: 0.0.0.0" >> /docker/elasticsearch/config/elasticsearch.yml
授予权限
chmod -R 777 /docker/elasticsearch
docker run --name es -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms84m -Xmx512m" \
-v /docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.16.2
命令 | 含义 |
---|---|
-p | 端口映射 |
-e “discovery.type=single-node” | 单点模式启动 |
-e ES_JAVA_OPTS=“-Xms512m -Xmx512m” | 设置启动占用的内存范围 |
-v | 目录挂载 |
-d | 后台运行 |
测试是否成功
进入浏览器 搜索 ip:9200 返回以下结果为正确
{
"name": "Q-FKV6Q",
"cluster_name": "elasticsearch",
"cluster_uuid": "qvYnlKG-RUmKwRdmm7roCA",
"version": {
"number": "5.6.12",doc
"build_hash": "cfe3d9f",
"build_date": "2018-09-10T20:12:43.732Z",
"build_snapshot": false,
"lucene_version": "6.6.1"
},
"tagline": "You Know, for Search"
}