基于commit命令方式创建

docker的安装

[root@test01 ~]# yum install docker

[root@test01 ~]# systemctl enable docker

[root@test01 ~]# systemctl start docker

更新加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://z0ubh7pu.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

下载本地镜像

[root@test01 ~]# docker pull centos:7.4.1708

[root@test01 ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

docker.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 -tunpl

Active 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 -p

Enter 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 -p

Enter password:

MariaDB [(none)]> exit

创建容器启动脚本

[root@e8126d0481d2 ~]# cat run.sh

#!/bin/sh

mysqld_safe

创建镜像

[root@test01 ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES

e8126d0481d2        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 ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES

eed3e88a1261        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 -p

MariaDB [(none)]>

docker容器创建MariaDB镜像的更多相关文章

  1. docker之创建MariaDB镜像的方法

    一.基于commit命令方式创建 docker的安装 ? 1 2 3 [root@test01 ~]# yum install docker [root@test01 ~]# systemctl en ...

  2. 【Docker】(9)---每天5分钟玩转 Docker 容器技术之镜像

    镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器.为什么我们要讨论镜像的内部结构? 如果只是使用镜像,当然不需要了解,直接通过 docker 命令下载和运行就可以了. 但如 ...

  3. Docker 入门之docker容器创建

    使用docker容器的大多数人都是因为想要隔离不同运行环境的差异,使得自己的应用能更好的移植和部署.那么我们来看看掌握docker需要掌握哪些方面. 1,搭建docker环境 2,编译镜像并将其运行成 ...

  4. docker容器 如何精简镜像减小体积

    写在前面 我们在上篇<Docker容器 关于镜像构建的安全问题>一起学习了如何构建一个基于安全的镜像,这篇小作文我们会学习镜像构建的另一个关键性问题,为何别人打造的镜像只有10MB而我的有 ...

  5. 6.云原生之Docker容器Registry私有镜像仓库搭建实践

    转载自:https://www.bilibili.com/read/cv15219863/?from=readlist #1.下载registry仓库并设置数据存放的目录(并生成认证账号密码) doc ...

  6. Docker容器打包成镜像 - OpenDaylight官方 SDN Hub Tutorial VM 的docker镜像

    由于工作需要,在看OpenDaylight (一个SDN的开源控制器) 官方Tutorial有一个比较基础且介绍比较详细的文档(http://sdnhub.org/tutorials/opendayl ...

  7. docker centos7创建consul镜像以及用docker-compose启动镜像

    直接贴代码了: Dockfile: # Version 0.1 FROM kuba_centos7 MAINTAINER kuba si812cn@163.com # This is the rele ...

  8. Docker dockerfile创建Eclipse镜像初试

    抽空初步阅读了Docker技术入门与实战 [Kindle电子书] http://www.cnblogs.com/2018/p/4600116.html 现在想首先在开发环境下引入统一的环境,由于开发中 ...

  9. gitlab Docker容器创建命令以及从容器中备份gitlab仓库示例

    Gitlab容器启动命令: docker run -d --name gitlab --publish : --publish : --hostname gitlab-server --volume ...

随机推荐

  1. Comet OJ - Contest #11 A 水题

    Code: #include <bits/stdc++.h> #define N 3000000 using namespace std; char str[N]; int main() ...

  2. 1.4 JAVA日期处理

    一.JAVA日期 参考链接:https://www.runoob.com/java/java-date-time.html 1.日期两个构造函数 1.第一个构造函数使用当前日期和时间来初始化对象.Da ...

  3. Java终止线程的三种方式

    停止一个线程通常意味着在线程处理任务完成之前停掉正在做的操作,也就是放弃当前的操作. 在 Java 中有以下 3 种方法可以终止正在运行的线程: 使用退出标志,使线程正常退出,也就是当 run() 方 ...

  4. Cache As Ram

    1. Why need Cache? Cache又称之为高速缓存,是为了弥补CPU和主存之间逐渐增大的速度上的差距 而被迫在两者之间加入的一个小的SRAM.现代处理器上通常都会有三级或者是四级缓存,这 ...

  5. [Javascript]客户端检测

    客户端检测是一种行之有效的开发策略.但不到万不得已,就不要使用客户端检测.先设计通用的方案,然后根据浏览器之间的差异和各自的怪癖quirky,再使用特定于浏览器的技术增强该方案. 能力检测 Featu ...

  6. PHP-生产随机验证码图片

    // <span style="white-space:pre"> </span>//因为要把产生的验证码保存到session中,此处为session开始 ...

  7. APScheduler 3.0.1浅析

    简介 APScheduler是一个小巧而强大的Python类库,通过它你可以实现类似Unix系统cronjob类似的定时任务系统.使用之余,阅读一下源码,一方面有助于更好的使用它,另一方面,个人认为a ...

  8. input 表单

    1:datalist元素,一般与input组建配合使用,以定义可能输入的值,例如: <!DOCTYPE html> <html lang="en"> < ...

  9. Flask Response响应(flask中设置响应信息的方法,返回json数据的方法)

    设置响应信息的方法 1.  返回自定义的响应头,有两种方式: (1)  第一种是:视图函数return的时候,使用元组,返回自定义的信息 返回的时候的状态码可以自定义信息:"状态码   自定 ...

  10. linux 基础学习常见问题

    1.当命令行还在运行不能输入任何东西时,按ctrl+c       停掉那个正在运行.