docker自定義容器部署與鏡像發佈筆記+數據庫用戶權限分配管理筆記

1

docker 從被我使用以來,一直都是個坑。這兩天又用到了。記錄一下

搭建屬於自己的鏡像。因爲倉庫很多鏡像除了基礎鏡像。用別人的好像都變了個樣。各種錯誤。只能自定義自己需要的了。

利用centos7基礎鏡像安裝自己所需的集成環境lamp加各種命令集合。打包成鏡像然後上傳倉庫。

搭建命令
docker run --privileged -d -it -v /test1:/soft -p 87:80 --name websql2 mozhe/centos /usr/sbin/init

-d 是開啓Daemon模式。
-it -v /test1:/soft 是映射共享目錄,將宿主機的/test1目錄映射到容器主機的/soft目錄
-p 宿主機端口:容器主機端口  將容器端口映射到宿主據某端口
--name 爲容器取名字
--privileged  /usr/sbin/init  是爲防止apache nginx等服務啓動是報錯Failed to get D-Bus connection: Operation not permitted。

把自定義好的容器打包成鏡像並上傳倉庫。

在docker倉庫新建一個用戶,並新建倉庫
參考 https://blog.csdn.net/yuhui123999/article/details/82220093

docker commit -m "ctf-mozhe" -a "mozhe" 17b86ae38ec4 mozhe/centos
-m(提示信息) + -a(倉庫用戶名) + 容器id +   鏡像名稱   


docker push mozhe/centos:latest

docker push +倉庫用戶名/倉庫名:latest(默認的tag)

自此,成功打包鏡像並上傳倉庫成功。在docker的個人中心可以看到上傳的鏡像,或者直接search也可搜索到。

2

另再記錄儀mysql數據新建用戶並未該用戶分配權限(只管理分配的數據庫)

登錄MySQL
mysql -u root -p

添加新用戶
允許本地 IP 訪問 localhost, 127.0.0.1
create user 'test'@'localhost' identified by '123456';

允許外網 IP 訪問
create user 'test'@'%' identified by '123456';

刷新授權
flush privileges;

爲用戶創建數據庫
create database test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

爲新用戶分配權限
授予用戶通過外網IP對於該數據庫的全部權限
grant all privileges on `testdb`.* to 'test'@'%' identified by '123456';

授予用戶在本地服務器對該數據庫的全部權限
grant all privileges on `testdb`.* to 'test'@'localhost' identified by '123456';

刷新權限
flush privileges;

這樣就新建數據庫用戶並分配相應的數據庫的全部權限了。這樣我們就可以使該用戶只能訪問改數據庫。而不能管理其它數據庫。

如果不需要遠程管理數據庫,可不用開啓外網訪問權限。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章