Docker部署資料庫彙總
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
。