IT虾米网

docker安装常见数据库

bjzhanghao 2022年11月07日 大数据 1121 0

前言

本文使用docker安装常见数据库大部分没配置什么参数,只是基本的安装。

  • docker 版本: 18.06.3和19.03.9
  • docker-compose 版本: 2.4.0

MySQL(v5.7)

  1. 下载docker镜像
docker pull mysql:5.7 
  1. 创建并运行docker容器
# 映射宿主机3307端口到容器的3306端口 
# 设置mysql的root密码为123456 
# 映射宿主机的/home/heruo/mysql/data到容器的/var/lib/mysql 
docker run -it --name mysql-test -p 3307:3306\ 
-e MYSQL_ROOT_PASSWORD=123456 \ 
-v /home/heruo/mysql/data:/var/lib/mysql \ 
-v /home/heruo/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \ 
-d mysql:5.7 
  • docker-compose.yaml
version: "3" 
services: 
  mysql: 
    image: mysql:5.7 
    container_name: mysql-test 
    volumes: 
      - /home/heruo/mysql/data:/var/lib/mysql 
      - /home/heruo/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf 
    ports: 
      - 3307:3306 
    environment: 
      - MYSQL_ROOT_PASSWORD=123456 
  • mysqld.cnf
[mysqld] 
pid-file        = /var/run/mysqld/mysqld.pid 
socket          = /var/run/mysqld/mysqld.sock 
datadir         = /var/lib/mysql 
#log-error      = /var/log/mysql/error.log 
# By default we only accept connections from localhost 
#bind-address   = 127.0.0.1 
# Disabling symbolic-links is recommended to prevent assorted security risks 
symbolic-links=0 
 
max_allowed_packet = 32M 
lower_case_table_names=1 
max_connections=2000 
# 禁用查询缓存 
query_cache_type=0 
query_cache_size=0 
# innodb缓冲池大小,此处设置为512MB. 512 * 1024 * 1024 
innodb_buffer_pool_size=536870912 
 
# binlog配置 
#log-bin=mysql-bin 
#binlog-format=ROW 
#server-id=1 
#binlog_ignore_db=information_schema,mysql,performance_schema,sys 
#expire_logs_days=30 
 
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 

MariaDB

  1. 下载docker镜像
docker pull mariadb 
  1. 创建并运行docker容器
# 映射宿主机4306端口到容器的3306端口 
# 设置mariadb的root密码为123456 
# 映射宿主机的/home/heruo/mariadb/data到容器的/var/lib/mysql 
docker run -it --name mariadb-test -p 4306:3306\ 
-e MARIADB_ROOT_PASSWORD=123456 \ 
-v /home/heruo/mariadb/data:/var/lib/mysql \ 
-d mariadb:latest 
  • docker-compose.yaml
version: "3" 
services: 
  mariadb: 
    image: mariadb:latest 
    container_name: mariadb-test 
    volumes: 
      - /home/heruo/mariadb/data:/var/lib/mysql 
    ports: 
      - 4306:3306 
    environment: 
      - MARIADB_ROOT_PASSWORD=123456 

Redis(v6.2.4)

  1. 下载docker镜像
docker pull redis:6.2.4 
  1. 创建并运行docker容器
docker run -p 6379:6379 --name redis-test -d redis:6.2.4 
  • docker-compose.yaml
version: "3" 
services: 
  redis: 
    image: redis:6.2.4 
    container_name: redis-test 
    ports: 
      - 6379:6379 

MongoDB

  1. 下载docker镜像
docker pull mongo 
  1. 创建并运行docker容器
docker run -p 27017:27017 --name mongodb-test \ 
-v /home/heruo/mongodb/data:/data/db \ 
-e MONGO_INITDB_ROOT_USERNAME=root \ 
-e MONGO_INITDB_ROOT_PASSWORD=123456 \ 
-d mongo:latest 
  • docker-compose.yaml
version: "3" 
services: 
  mongodb: 
    image: mongo:latest 
    container_name: mongodb-test 
    ports: 
      - 27017:27017 
    volumes: 
      - /home/heruo/mongodb/data:/data/db 
    environment: 
      - MONGO_INITDB_ROOT_USERNAME=root 
      - MONGO_INITDB_ROOT_PASSWORD=123456 

elasticsearch(7.5.1)

严格来说,elasticsearch不是数据库,不过既然有存储数据的功能,就勉强放一块了。

  1. 下载docker镜像
docker pull elasticsearch:7.5.1 
  1. 创建并运行docker容器
docker run -p 9200:9200 -p 9300:9300 --name es-test \ 
-e "discovery.type=single-node" \ 
-d elasticsearch:7.5.1 
  • docker-compose.yaml
version: "3" 
 
services: 
  elasticsearch: 
    image: elasticsearch:7.5.1 
    container_name: es-test 
    ports: 
      - 9200:9200 
      - 9300:9300 
    volumes: 
      - /home/heruos/apps/elasticsearch/data/:/usr/share/elasticsearch/data 
      - /home/heruos/apps/elasticsearch/logs/:/usr/share/elasticsearch/logs 
      - /home/heruos/apps/elasticsearch/plugins/:/usr/share/elasticsearch/plugins 
    environment: 
      - "discovery.type=single-node" 
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m" 
    ulimits: 
      nofile: 
        soft: 65535 
        hard: 65535 

PostgreSQL

  1. 下载docker容器
docker pull postgres 
  1. 创建并运行docker容器
docker run -p 5432:5432 --name postgresql \ 
-e POSTGRES_PASSWORD=123456 \ 
-v /home/heruos/apps/postgresql/data:/var/lib/postgresql/data \ 
-d postgres 
  • docker-compose.yaml
version: "3" 
 
services: 
  postgresql: 
    image: postgres:latest 
    container_name: postgresql 
    ports: 
      - /home/heruos/apps/postgresql/data:/var/lib/postgresql/data 
    environment: 
      - "POSTGRES_PASSWORD=123456" 

本文参考链接:https://www.cnblogs.com/XY-Heruo/p/16000199.html
评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!