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;

这样就新建数据库用户并分配相应的数据库的全部权限了。这样我们就可以使该用户只能访问改数据库。而不能管理其它数据库。

如果不需要远程管理数据库,可不用开启外网访问权限。

你可能感兴趣的:(搭建笔记)