Docker快速搭建基础环境

声明

本文版权归原作者所有,未经允许禁止转载。

搭建一些网站时可能会用到一些基础镜像,如DebianCentos等,以及不同的数据库,使用Docker进行快速搭建是个不错的选择,命令和镜像加速配置参考Docker 相关 (问题 & 常用命令)

Linux

Centos7

Docker run

docker run -itd \
	--name centos7 \
	crpi-r2ta923g837syaja.cn-hangzhou.personal.cr.aliyuncs.com/redteam-images/centos:7.9 \
	/bin/bash

Compose

services:
    centos:
        container_name: centos7
        image: crpi-r2ta923g837syaja.cn-hangzhou.personal.cr.aliyuncs.com/redteam-images/centos:7.9
        command: /bin/bash

数据库

MySQL

Docker run

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e MYSQL_DATABASE=test \
  -e MYSQL_USER=test \
  -e MYSQL_PASSWORD=test \
  -e MYSQL_ROOT_PASSWORD=root \
  -v ./mysql_data:/var/lib/mysql \
  mysql:5.7.26 \
  --character-set-server=utf8 \
  --collation-server=utf8_general_ci

常用选项:

--character-set-server=utf8 \
--collation-server=utf8_bin \
--max_allowed_packet=64M \
--skip-ssl \
--default-authentication-plugin=mysql_native_password

Compose

services:
    mysql:
        container_name: mysql
        ports:
            - 3306:3306
        environment:
            - MYSQL_DATABASE=test
            - MYSQL_USER=test
            - MYSQL_PASSWORD=test
	        - MYSQL_ROOT_PASSWORD=root
	    volumes:
		    - mysql_data:/var/lib/mysql
        image: mysql:5.7.26
        command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

PostgreSQL

Docker run

docker run -d \
	--name postgresql \
	-e POSTGRES_DB=test \
	-e POSTGRES_USER=postgres \
	-e POSTGRES_PASSWORD=postgres \
	-p 5432:5432 \
	postgres:16

Compose

services:
    postgres:
        container_name: postgresql
        environment:
            - POSTGRES_DB=test
            - POSTGRES_USER=postgres
            - POSTGRES_PASSWORD=postgres
        ports:
            - 5432:5432
        image: postgres:16

redis

Docker run

docker run -d --name myredis -p 6379:6379 redis --requirepass "123456" 

Compose

services:
    redis:
        container_name: myredis
        ports:
            - 6379:6379
        image: redis
        command: --requirepass "123456"

dameng(达梦)

Docker run

docker run -d \
	--name dm8 \
	-e CHARSET=1 \
	-e SYSDBA_PWD="Admin@123456" \
	-e SYSAUDITOR_PWD="Admin@123456" \
	-p "5236:5236" \
	crpi-r2ta923g837syaja.cn-hangzhou.personal.cr.aliyuncs.com/redteam-images/dm8:20250506 

Compose

services:
    dm8:
        container_name: dm8
        environment:
            - CHARSET=1
            - SYSDBA_PWD=Admin@123456
            - SYSAUDITOR_PWD=Admin@123456
        ports:
            - 5236:5236
        image: crpi-r2ta923g837syaja.cn-hangzhou.personal.cr.aliyuncs.com/redteam-images/dm8:20250506

oracle

Docker run

docker run --name oracle12c \
	--ulimit nofile=1024 \
	-p 1521:1521 -p 5500:5500 \
	-e ORACLE_SID=ORCLCDB \
	-e ORACLE_PDB=ORCLPDB \
	-e ORACLE_PWD=123456 \
	-v ./oradata:/opt/oracle/oradata \
	-d crpi-r2ta923g837syaja.cn-hangzhou.personal.cr.aliyuncs.com/redteam-images/oracle:12.2.0.1-ee
# SID和服务名: ORCLCDB ORCLPDB
# jdbc url: jdbc:oracle:thin:@//localhost:1521/ORCLCDB
# 用户名:SYS, SYSTEM and PDB_ADMIN
# 密码: 123456

Compose

services:
    oracle:
        container_name: oracle12c
        ulimits:
            nofile: 1024
        ports:
            - 1521:1521
            - 5500:5500
        environment:
            - ORACLE_SID=ORCLCDB
            - ORACLE_PDB=ORCLPDB
            - ORACLE_PWD=123456
        volumes:
            - ./oradata:/opt/oracle/oradata
        image: crpi-r2ta923g837syaja.cn-hangzhou.personal.cr.aliyuncs.com/redteam-images/oracle:12.2.0.1-ee