安装MySQL
拉取镜像
docker pull mysql:5.7
启动容器
指定root的密码:
-e MYSQL_ROOT_PASSWORD=password123456指定docker镜像时区:
-e TZ=Asia/Shanghai参数解释:
–name:给新创建的容器命名,此处命名为mysqlserver
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,表示在这个容器中使用3306端口(第二个)映射到本机的端口号也为3306(第一个)
-d:成功启动容器后输出容器的完整ID
最后一个mysql指的是mysql镜像名字
docker run --name mysqlserver -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=password123456 -p 8306:3306 -d mysql:5.7
进入容器
docker exec -it mysqlserver /bin/bash
配置外网访问
ALTER USER 'root'@'%' IDENTIFIED BY 'password123456' PASSWORD EXPIRE NEVER; --修改加密规则 ,'password'改成你的密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password123456'; --更新一下用户的密码 ,'password'是你的密码
FLUSH PRIVILEGES; --刷新权限
安装Oracle
拉取镜像
docker pull oracleinanutshell/oracle-xe-11g
dockerHub 地址: hub.docker.com/r/oracleina…
启动容器
docker run -d -p 8521:1521 --name oracle11-xe -e ORACLE_ALLOW_REMOTE=true oracleinanutshell/oracle-xe-11g
oracle-xe-11g默认服务、账号、密码
- 服务名:XE
- 默认账户:system
- 默认密码;oracle
用sqlplus登录oracle,至此,oracle11g安装成功!
# 进入容器
docker exec -it oracle11g bash
# 切换用户
su - oracle
# 第一种登录方式-无需密码
sqlplus / as sysdba
# 第二种登录方式-用户密码
sqlplus system/oracle(用户名/密码)
# 第三种登录方式-先登录再授权
sqlplus /nolog
conn sys/oracle as sysdba;
# 创建用户
create user [用户名] identified by [密码];
# 为用户授权(connect,resource,dba)
grant connect,resource,dba to [用户名];
将表空间文件挂载到本机目录上
-
进入镜像
docker exec -it ae2a8b4dada3 bash -
登录进oracle
sqlplus system/oracle -
查看表空间
Select * FROM DBA_DATA_FILES;
默认在
/u01/app/oracle/oradata/XE目录下,这里就不能将这个目录挂在到本机上,要新建新目录XED
mkdir /u01/app/oracle/oradata/XED,并且设置目录权限,防止创建表空间提示无权限chmod 777 ./XED
-
重新run容器
docker run -d -p 49161:1521 -v /opt/oradata/XED:/u01/app/oracle/oradata/XED --name oracle11-xe -e ORACLE_ALLOW_REMOTE=true oracleinanutshell/oracle-xe-11g将本机的/opt/oradata/XED挂载到docke容器中/u01/app/oracle/oradata/XED -
这样
create tablespace mydb datafile '/u01/app/oracle/oradata/XED/mydb.dbf' size 100m autoextend on next 10m;创建的表空间就在本地主机上了
oracle-xe-11g这个镜像默认
Redis
拉取镜像
docker pull redis:alpine
启动
- 设置密码,开启外网访问
docker run -d --privileged=true --restart=always -p 6379:6379 --name redis redis:alpine redis-server --requirepass "123456"
进入容器
docker exec -it 454ab52a7cff /bin/sh
找到redis-cli 运行
cd /usr/local/bin/
redis-cli
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> get name
(error) NOAUTH Authentication required.
127.0.0.1:6379>
127.0.0.1:6379>
## 认证,密码
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379>
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> set name aa
OK
127.0.0.1:6379>
127.0.0.1:6379> get name
"aa"
127.0.0.1:6379>