MySQL部署
1.创建一个文件夹用于映射MySQL数据
$ sudo mkdir /docker/mysql_data -p
2.启动MySQL容器
$ sudo docker run --name mysql -d \
--restart always -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /docker/mysql_data:/var/lib/mysql \
mysql:tag
--name mysql
:容器命名为mysql;
-d
:后台运行容器,并返回容器id;
--restart always
:设置容器自启动,永远重启;
-p 13306:3306
:将容器的3306端口映射到宿主机的13306端口;
-e MYSQL_ROOT_PASSWORD=123456
:设置MySQL的root密码为123456,该项必须设置,否则容器无法启动;
-v /docker/mysql_data:/var/lib/mysql
:将容器的/var/lib/mysql
文件夹映射到宿主机的docker/mysql_data
,数据持久化.
Oracle部署
1.创建一个文件夹用于映射Oracle数据
$ sudo mkdir /docker/oracle_data -p
2.启动Oracle容器
$ sudo docker run --name oracle -d \
--restart always -p 11521:1521 \
-v /docker/oracle_data:/u01/app/oracle \
sath89/oracle-12c
-p 11521:1521
:将容器的1521端口映射到宿主机的11521端口;
-v /docker/oracle_data:/u01/app/oracle
:将容器的/u01/app/oracle
文件夹映射到宿主机的/docker/oracle_data
,数据持久化;
生成的容器,初始账号为system
,密码为oracle
,sid为xe
。
SQL Server部署
1.创建一个文件夹用于映射SQL Server数据
$ sudo mkdir /docker/mssql_data -p
2.启动SQL Server容器
$ sudo docker run --name mssql -d \
--restart always -p 11433:1433 \
-e 'ACCEPT_EULA=Y' \
-e 'MSSQL_SA_PASSWORD=SQLserverPassword8!' \
-v /docker/mssql_data:/var/opt/mssql \
microsoft/mssql-server-linux:tag
-p 11433:1433
:将容器的1433端口映射到宿主机的11433端口;
-v /docker/mssql_data:/var/opt/mssql
:将容器的/var/opt/mssql
文件夹映射到宿主机的/docker/mssql_data
,数据持久化;
-e 'ACCEPT_EULA=Y'
:同意许可协议,必填;
-e 'MSSQL_SA_PASSWORD=SQLserverPassword8!'
:设置sa账户的密码,必须包含大小写字母,数字、特殊字符,否则容器启动后会停止,必填;
生成的容器,初始账号为sa
,密码为SQLserverPassword!
。
PostgreSQL部署
1.创建一个文件夹用于映射SQL Server数据
$ sudo mkdir /docker/postgres_data -p
2.启动PostgreSQL容器
$ sudo docker run --name postgres -d \
--restart always -p 15432:5432 \
-e POSTGRES_PASSWORD=root \
-v /docker/postgres_data:/var/lib/postgresql/data/pgdata \
postgres:tag
-p 15432:5432
:将容器的5432端口映射到宿主机的15432端口;
-v /docker/postgres_data:/var/lib/postgresql/data/pgdata
:将容器的/var/lib/postgresql/data/pgdata
文件夹映射到宿主机的/docker/postgres_data
,数据持久化;
-e POSTGRES_PASSWORD=root
:设置postgre账户密码,必填;
生成的容器,初始账号为postgres
,密码为root
。
MongoDB部署
1.创建一个文件夹用于映射Mongodb数据
$ sudo mkdir /docker/mongo_data -p
2.启动MongoDB容器
$ sudo docker run --name mongo -d \
--restart always -p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=root \
-v /docker/mongo_data:/data/db \
mongo:tag --auth --master
-p 27017:27017
:将容器的27017端口映射到宿主机的27017端口;
-v /docker/mongo_data:/data/db
:将容器的/data/db
文件夹映射到宿主机的/docker/mongo_data
,数据持久化;
--auth
: 开启认证,如果没开启,不需要设置-e MONGO_INITDB_ROOT_USERNAME=admin
和-e MONGO_INITDB_ROOT_PASSWORD=root
。
--master
:开启主从复制
生成的容器,初始账号为admin
,密码为root
。