Docker如何创建MariaDB镜像
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇"Docker如何创建MariaDB镜像"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2024年11月30日Docker如何创建MariaDB镜像
这篇"Docker如何创建MariaDB镜像"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Docker如何创建MariaDB镜像"文章吧。
基于commit命令方式创建
docker的安装
[root@test01 ~]# yum install docker[root@test01 ~]# systemctl enable docker[root@test01 ~]# systemctl start docker
下载本地镜像
[root@test01 ~]# docker pull centos:7.4.1708[root@test01 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEdocker.io/centos 7.4.1708 3afd47092a0e 3 months ago 196.6 MB
创建交互型容器
[root@test01 ~]# docker run -it --name="mysql_server" centos /bin/bash
安装mariadb服务
[root@e8126d0481d2 /]# yum -y install mariadb-server net-tools
初始化mariadb
[root@e8126d0481d2 /]# mysql_install_db --user=mysql
后台启动mariadb服务
[root@e8126d0481d2 /]# mysqld_safe &[1] 114[root@e8126d0481d2 /]#180210 13:45:27 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.180210 13:45:27 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql[root@e8126d0481d2 /]# netstat -tunplActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN -
创建mariadb登录密码,并可以指定ip登录
[root@e8126d0481d2 /]# mysqladmin -u root password '123456'[root@e8126d0481d2 /]# mysql -u root -pEnter password:MariaDB [(none)]> show databases;MariaDB [(none)]> use mysql;MariaDB [mysql]> select Host from user where user='root';MariaDB [mysql]> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;MariaDB [mysql]> update user set password=password('123456') where user='root' and host='e8126d0481d2';MariaDB [mysql]> flush privileges;MariaDB [mysql]> exit
容器登录验证
[root@e8126d0481d2 /]# mysql -u root -h 172.17.0.2 -pEnter password:MariaDB [(none)]> exit
创建容器启动脚本
[root@e8126d0481d2 ~]# cat run.sh#!/bin/shmysqld_safe
创建镜像
[root@test01 ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESe8126d0481d2 centos "/bin/bash" 11 minutes ago Exited (0) 8 seconds ago mysql_server[root@test01 ~]# docker commit mysql_server mariadb:1.0
创建容器
[root@test01 ~]# docker run -d -p 13306:3306 mariadb:1.0 /root/run.sh[root@test01 ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESeed3e88a1261 mariadb:1.0 "mysqld_safe" 4 seconds ago Up 3 seconds 0.0.0.0:13306->3306/tcp romantic_hamilton
主机登录验证
[root@test01 ~]# yum -y install mariadb[root@test01 ~]# mysql -u root --port=13306 -pMariaDB [(none)]>
基于Dockerfile方式创建
设置创建目录和文件[root@test01 ~]# mkdir mariadb_dockerfile && cd mariadb_dockerfile[root@test01 mariadb_dockerfile]# touch db_init.sh[root@test01 mariadb_dockerfile]# touch run.sh编辑Dockerfile等文件Dockerfile[root@test01 mariadb_dockerfile]# cat Dockerfile#使用的基础镜像FROM centos:7.4.1708#添加作者信息MAINTAINER liuxin 842887233@qq.com#安装mariadb数据库RUN yum -y install mariadb-server#设置环境变量,便于管理ENV MARIADB_USER rootENV MARIADB_PASS 123456#让容器支持中文ENV LC_ALL en_US.UTF-8#初始化数据库ADD db_init.sh /root/db_init.shRUN chmod 775 /root/db_init.shRUN /root/db_init.sh#导出端口EXPOSE 3306#添加启动文件ADD run.sh /root/run.shRUN chmod 775 /root/run.sh#设置默认启动命令CMD ["/root/run.sh"]db_init.sh[root@test01 mariadb_dockerfile]# cat db_init.sh#!/bin/bashmysql_install_db --user=mysqlsleep 3mysqld_safe &sleep 3#mysqladmin -u "$MARIADB_USER" password "$MARIADB_PASS"mysql -e "use mysql; grant all privileges on *.* to '$MARIADB_USER'@'%' identified by '$MARIADB_PASS' with grant option;"h=$(hostname)mysql -e "use mysql; update user set password=password('$MARIADB_PASS') where user='$MARIADB_USER' and host='$h';"mysql -e "flush privileges;"run.sh[root@test01 mariadb_dockerfile]# cat run.sh#!/bin/bashmysqld_safe
创建镜像
[root@test01 mariadb_dockerfile]# docker build -t liuxin/centos-mariadb:v1 ./
创建容器
[root@test01 mariadb_dockerfile]# docker run -d -p 13306:3306 liuxin/centos-mariadb:v1 /root/run.sh[root@test01 mariadb_dockerfile]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES7743527ac603 liuxin/centos-mariadb:v1 "/root/run.sh" 5 seconds ago Up 3 seconds 0.0.0.0:13306->3306/tcp nostalgic_mirzakhani
登录验证
[root@test01 mariadb_dockerfile]# mysql -uroot -h 127.0.0.1 --port=13306 -pEnter password:Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 1Server version: 5.5.56-MariaDB MariaDB ServerCopyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> exit
以上就是关于"Docker如何创建MariaDB镜像"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
镜像
容器
内容
登录
文件
验证
命令
数据
数据库
文章
方式
知识
篇文章
服务
主机
价值
作者
信息
变量
后台
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
联想rd服务器管理ip
我的世界空城服务器介绍
互联网科技消费股
工信通网络安全事业部
怎么查服务器的托管商
网络安全执法学什么
网络安全防护专项检查
网络技术概念形成
河南海推网络技术
英雄联盟怎样切换服务器
幼儿园托班网络安全教案
pks信息化和网络安全
手机网络安全龙头股
如何自动登陆ftp服务器
平安科技a类干部 互联网p9
现代网络技术进展的报告
查询数据库显示null
c 包含多组测试数据库
平台软件开发棋牌
陕西省计算机网络技术专升本学校
服务器网络布线哪家服务好
介绍易班网络技术部
浙江网络时间同步服务器云空间
传智播客企业级软件开发作业一
网络安全防护专项检查
软件开发工程师转行什么最好
周口网络技术质量
红萌网络安全工作室
学校网络安全风险评估工作
医药软件开发工程师有年龄限制吗