使用docker部署mysql

2021-09-20 13:30:15 字數 2382 閱讀 7248

安裝docker

sudo pacman -s docker啟動docker

sudo systemctl start docker開機啟動

sudo systemctl enable docker關閉

sudo systemctl stop docker建立 docker 使用者組

預設情況下,docker 命令會使用 unix socket 與 docker 引擎通訊。而只有 root 使用者和 docker 組的使用者才可以訪問 docker 引擎的 unix socket。出於安全考慮,一般 linux 系統上不會直接使用 root 使用者。因此,更好地做法是將需要使用 docker 的使用者加入 docker 使用者組。

測試 docker 是否安裝正確

$ docker run hello-world

檢視映象

docker image ls

docker run --rm -d --name mysql -p 3306:3306 -v /opt/mysql/data:/var/lib/mysql -e mysql_root_password=root mysql:5.7
-rm:容器用完就銷毀,因為我們的資料都是儲存在資料卷上,所以容器停止執行後可以直接把它刪除就行了

-d:讓容器在後台執行

-name:指定容器的名稱

-p:容器的3306對映到主機的3306埠

-v:容器的/var/lib/mysql目錄掛載在主機的/opt/mysql/data目錄

mysql:5.7:映象id或repository:tag, 可通過docker image ls檢視

-m 或 --memory::設定記憶體的使用限額,例如 100m, 2g。

--memory-swap:設定 記憶體+swap 的使用限額。

docker run -m 200m --memory-swap=300m mysql

其含義是允許該容器最多使用 200m 的記憶體和 100m 的 swap。預設情況下,上面兩組引數為 -1,即對容器記憶體和 swap 的使用沒有限制。如果設定成一樣表示分配200m記憶體,不分配交換記憶體.

-e:設定預設引數,支援引數:

mysql_root_password

mysql_database

mysql_user, mysql_password

mysql_allow_empty_password

mysql_random_root_password

mysql_onetime_password

docker exec -it mysql mysql -uroot -p
-i -t 引數

只用-i引數時,由於沒有分配偽終端,介面沒有我們熟悉的 linux 命令提示符,但命令執行結果仍然可以返回。當-i -t引數一起使用時,則可以看到我們熟悉的 linux 命令提示符

mysql-it後面的mysql表示容器名稱或容器id

mysql -uroot -p:表示進入容器後要執行的命令,可以為sh:表示進入容器後執行sh進入shell

建立帳號

命令:create user 'username'@'host' identified by 'password';

mysql> create user 'admin'@'%' identified by 'admin';
授權

命令:grant privileges on databasename.tablename to 'username'@'host'

mysql> grant all on *.* to 'admin'@'%';

用以上命令授權的使用者不能給其它使用者授權,如果想讓該使用者可以授權,用以下命令:

mysql> grant all on *.* to 'admin'@'%' with grant option;

重新整理授權

mysql> flush privileges;

Docker 使用Docker部署Node服務

docker 是乙個開源的容器引擎。開發者可以將自己的應用以及依賴打包為乙個可移植的容器,然後發布到 linux 機器上。它類似於乙個輕量級的虛擬機器,極大地方便了使用者在伺服器端部署和管理應用環境。apt install docker.io安裝成功後檢視docker版本 建立package.jso...

使用Docker部署Mysql服務的方法

第一章 docker 部署redis 第二章 docker 部署mysql 第三章 docker 部署rabbitmq 需要進入docker本地客戶端設定遠端訪問賬號 檢視執行的容器 進入執行的容器 sudo docker exec it iot mysql bash 容器內操作 mysql uro...

Docker部署Mysql應用

docker pull mysql檢視映象 docker run di name mysql server p 3306 3306 e mysql root password 123456 mysql p 代表埠對映,格式為 宿主機對映埠 容器執行埠 e 代表新增環境變數 mysql root pa...