其他分享
首页 > 其他分享> > 如何在docker上面安装常用的容器环境

如何在docker上面安装常用的容器环境

作者:互联网

本文主要记录了如何在docker上面安装最长的容器环境,包括redis、mongodb、es以及mysql

安装redis

1. 从docker hub上(阿里云加速器)拉取redis镜像到本地标签为6.0.8

docker pull redis:6.0.8

2. 基础命令操作

2.1 启动容器并访问

# 启动redis容器
docker run -d -p 6379:6379 redis:6.0.8

# 进入redis容器
docker exec -it c14ecf2a6246 /bin/bash

# 使用客户端命令访问容器
redis-cli

2.2 停止容器并删除

# 查看容器ID
docker ps

# 停止容器
docker stop c14ecf2a6246

# 删除容器
docker rm c14ecf2a6246

3. 指定宿主机配置文件和容器卷启动容器

3.1 创建宿主机的redis容器配置文件和容器卷存储文件夹

# 配置文件放在这里
mkdir -p /opt/module/docker/redis/conf

# 数据卷放在这里
mkdir -p /opt/module/docker/redis/datas

3.2 上传默认redis配置文件到/opt/module/docker/redis/conf下面
默认redis配置文件下载地址:下载

3.3 修改redis配置文件

3.4 启动容器

docker run -p 6379:6379 --name redis6 --privileged=true -v /opt/module/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /opt/module/docker/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf

安装mongodb

拉取镜像

docker pull mongo:latest

创建宿主机容器卷映射

mkdir -p /opt/module/docker/mongodb/conf

在上方文件下面vim mongo.conf输入一下内容

systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log
  logAppend: true
storage:
  dbPath: /data/db
net:
  port: 27037
  bindIp: 0.0.0.0
#security:
  #authorization: enabled

注意:这里的path和dbPath都是指的容器下面的路径

mkdir -p /opt/module/docker/mongodb/data/log

启动容器

docker run -itd --name mongo -p 27017:27017  -v /opt/module/docker/mongdb/data:/data/db  -v /opt/module/docker/mongdb/conf/mongo.conf:/data/configdb/mongo.conf -v /opt/module/docker/mongdb/data/log:/data/log mongo
docker run -d \
--name mongodb \
-p 27017:27017 \
-v /opt/module/docker/mongdb/data:/data/db \
-v /opt/module/docker/mongdb/conf/mongo.conf:/data/configdb/mongo.conf \
-v /opt/module/docker/mongdb/data/log:/data/log \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin \
--privileged=true \
--restart always \
mongo

测试

docker安装elasticSearch

1 拉取ES镜像

docker pull elasticsearch:7.16.1

2 创建要挂载的文件与配置信息

mkdir -p /opt/module/docker/elasticsearch/conf
mkdir -p /opt/module/docker/elasticsearch/data
mkdir -p /opt/module/docker/elasticsearch/plugins

3 启动容器

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-d elasticsearch:7.16.1
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
# 配置启动参数,防止ES占用内存过大,大概1GB
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /opt/module/docker/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /opt/module/docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /opt/module/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.16.1

4 测试

docker安装arm版本mysql

1. 拉取镜像

由于这里需要安装的mysql5.7版本,但是机器是arm架构的,docker下面的官方mysql只有8.0以上版本才适配了arm架构。
因此,这里安装其与mysql5.7对应的mariaDB10.2。
mariaDB和mysql版本对比关系参考: https://www.cnblogs.com/yuwentao/p/15598047.html

docker pull mariadb:10.2

2. 简单版

docker run -p 3306:3306 --name mariadb --env MARIADB_ROOT_PASSWORD=000000  -d mariadb:10.2
docker exec -it mariadb /bin/bash
mysql -u root -p
# 创建测试数据库
create database testDB;
# 切换数据库
use testDB;
# 创建数据表
create table test(id int, name varchar(20));
# 插入表数据
insert into test value(1,"shuisheng");
# 查询表信息
select * from test;

3. 实战版

mkdir -p /opt/module/docker/mysql/conf
mkdir -p /opt/module/docker/mysql/data
mkdir -p /opt/module/docker/mysql/log`
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
docker run -p 3306:3306 --privileged=true -v /opt/module/docker/mysql/log:/var/log/mysql -v /opt/module/docker/mysql/data:/var/lib/mysql -v /opt/module/docker/mysql/conf:/etc/mysql/conf.d --name mariadb -e MARIADB_ROOT_PASSWORD=000000 -d mariadb:10.2
docker exec -it mariadb /bin/bash
mysql -u root -p
show variables like 'character%';

标签:opt,容器,data,redis,module,conf,docker,安装
来源: https://www.cnblogs.com/shuds/p/16698006.html