Docker for Something

Last updated on 5 hours ago

Docker for Something

MongoDB

MongoDB

安装镜像

docker pull mongo

持久化

docker run --name mongo -v /docker/mongodb/data:/data/db -d -p 27017:27017 mongo

配置账号密码

1
2
docker exec -it mongo /bin/sh
# mongo admin

创建Mongo账号

1
2
3
4
5
6
//选择admin数据库
> use admin
//创建账号
> db.createUser({user: 'admin', pwd: 'admin123456', roles: [{role: "userAdminAnyDatabase", db: "admin" }]});
//测试账号
> db.auth('admin', 'admin123456')

登录测试

MongoDB

SqlServer

MSSQL

下载镜像

需要大概2G的空间

1
docker pull mcr.microsoft.com/mssql/server:2017-latest

或者阿里云的

1
docker pull registry.cn-hangzhou.aliyuncs.com/newbe36524/server:2019-latest

创建映射目录

1
D:\docker\SqlServer\data

运行

1
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=MyMMSQL1433..."  -p 1433:1433 -v D:\docker\SqlServer\data:/var/opt/mssql/data --name mssql -d mcr.microsoft.com/mssql/server:2017-latest

注意:

参数中必须用双引号,否则:

1
2
3
4
5
The SQL Server End-User License Agreement (EULA) must be accepted before SQL

Server can start. The license terms for this product can be downloaded from

...

映射完毕

然后,连接成功

image-20211128232440826

image-20211128231956823

image-20211128232044403

image-20211128232508455

Mysql

docker pull mysql

提前设置好相关映射文件夹 /mysql/conf & /mysql/data

docker run --name mysql -v /mysql/conf:/etc/mysql/conf.d -v /mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

  1. 进入mysql

    docker exec -it mysql mysql -uroot -p123456

    报这个错的话,就稍等, 我就是等等就好了

    1
    2
    3
    mysql: [Warning] World-writable config file '/etc/mysql/conf.d/my.cnf' is ignored.
    mysql: [Warning] Using a password on the command line interface can be insecure.
    ERROR 2002 (HY000): Can't cdocker exec -it mysql mysql -uroot -p123456 '/var/run/mysqld/mysqld.sock' (2)

    报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    解决:Docker安装mysql5.7报错 ERROR 1045 (28000): Access denied for user - 简书 (jianshu.com)

  2. 修改密码

    alter user 'root'@'%' identified with mysql_native_password by 'Aa111111';

  3. 本地DBeaver 连接

    1. 服务器地址 127.0.0.1
    2. 端口 3306
    3. 数据库 空
    4. 用户名 root
    5. 密码 Aa111111

    image-20211114162007559

Oracle

拉取

1
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

重命名

1
2
3
docker tag <imageid> 重命名

docker rmi <之前的名>

Run

1
docker run -d -p 1521:1521 -v /home/oracle/app/oracle/oradata:/usr/local/docker/oracle --name oracle11 aliyunoracle_11g
1
docker run -d -p 1521:1521 -v /usr/houshuai/oracle/oradata:/usr/local/docker/oracle --name oracle11 oracle11g    --20230214指向到映射文件夹

进入容器

1
docker exec -it oracle11 bash

切换 Root

1
2
su root 
#输入密码:helowin

环境变量

1
2
3
4
5
6
7
8
vi /etc/profile 

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

#使配置生效
source /etc/profile

创建软连接

1
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

切换Oracle登录SqlPlus

1
2
3
4
5
su - oracle

sqlplus /nolog

conn /as sysdba

修改密码

1
2
alter user system identified by system;
alter user sys identified by sys;

修改最大连接数

1
alter system set processes=1000 scope=spfile;

修改密码规则策略为密码永不过期

1
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

创建表空间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
CREATE TABLESPACE TSP_JHEMR 
datafile '/home/oracle/app/oracle/oradata/jhemr/jhemr.dbf'
size 20M
reuse
autoextend on
next 5M
maxsize unlimited,
'/home/oracle/app/oracle/oradata/jhemr/jhemr2.dbf'
size 20M
reuse
autoextend on
next 5M
maxsize unlimited
LOGGING
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT MANUAL
FLASHBACK ON;

CREATE TABLESPACE TSP_JHDICT
DATAFILE '/home/oracle/app/oracle/oradata/jhemr/JHDICT.DBF'
size 20M
reuse
autoextend on
next 5M
maxsize unlimited
LOGGING
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT MANUAL
FLASHBACK ON;

创建用户

1
2
3
4
5
6
7
8
9
10
create user jhemr identified by "jhemr" default tablespace TSP_JHEMR temporary tablespace temp;
grant connect to jhemr;
grant resource to jhemr;
grant dba to jhemr;

CREATE USER JHDICT IDENTIFIED BY JHDICT
default TABLESPACE TSP_JHDICT;
GRANT UNLIMITED TABLESPACE TO JHDICT;
GRANT CONNECT TO JHDICT;
GRANT RESOURCE TO JHDICT;

导入DMP文件

先通过xftp 将文件放到linux中,然后再复制到容器内。

1
2
3
#docker cp 本地文件 容器ID:容器目录 #将文件传到容器
docker cp /usr/oracle/oracledata/TR_JHEMR_20211009.dmp 2b4a86f4331f:dmpfile
docker cp /usr/oracle/oracledata/TR_JHDICT_20211009.dmp 2b4a86f4331f:dmpfile
1
2
imp jhemr/jhemr@helowin file=/dmpfile/TR_JHEMR_20211009.dmp full=y
imp JHDICT/JHDICT@helowin file=/dmpfile/TR_JHDICT_20211009.dmp full=y

如果遇到 bash: imp: command not found 应该是环境变量的配置没跟上,执行 source /etc/profile即可。

RabbitMQ

rabbitmqlogo

run

1
docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management
1
2
3
4
5
6
-d                          #后台运行
-- homename fuyi-rabbit #主机名
RABBITMQ_DEFAULT_USER=admin #可视化界面登录用户名
RABBITMQ_DEFAULT_PASS=admin #可视化界面登录密码
-p 15672:15672 #端口映射
c20 #镜像ID

Docker for Something
http://example.com/2021/12/01/Docker-Something/
Author
Harris
Posted on
December 1, 2021
Licensed under