docker mysql 镜像下载

一、下载官方的mysql镜像,我用的https://dashboard.daocloud.io/orgs/zuikc/packages/explore国内的加速镜像,一般国外的比较慢

1. 在 terminal 中登录 docker login daocloud.io
2. 输入 docker pull 并复制粘贴以下镜像地址
daocloud.io/library/mysql:latest
 

下载完成后查看镜像:

二、生成容器

生成容器时,调用的启动脚本是/entrypoint.sh;通过查看/entrypoint.sh脚本内容,总结参数如下

mysqld #启动mysql服务,必须使用
MYSQL_ROOT_PASSWORD #设置mysql的root密码,必须使用

#以下二个参数添加除root之外的用户并设置密码,可选。
MYSQL_USER
MYSQL_PASSWORD

#设置生成容器时需要新建的数据库,可选
MYSQL_DATABASE
#容器的mysql数据库默认的保存路径是:
/var/lib/mysql
#容器的配置文件my.cnf的路径为:
/etc/mysql/my.cnf

使用上要的参数生成新的容器:

docker run -d -p 3307:3306 --name mysql  -P  -e mysqld -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_USER=yope -e MYSQL_PASSWORD=yope -e MYSQL_DATABASE=testDb -v /mysql_data:/var/lib/mysql  daocloud.io/library/mysql 

查看容器:

docker ps -a

重要参数说明:

--name mysql

指定容器名称为 mysql;

-p 3307:3306

指定映射端口 将宿主机端口3307映射到容器3306端口;

-v /mysql_data:/var/lib/mysql

映射数据库存放位置。将宿主机的目录“/mysql_data”映射到容器的“/var/lib/mysql”目录;这是因为默认情况下数据库的数据库文件和日志文件都会存放于容器的AUFS文件层,这不仅不使得容器变得越来越臃肿,不便于迁移、备份等管理,而且数据库的性能也会受到影响。因此建议挂载到宿主机的目录到容器内。

查看本地的mysql_data是否生成容器内的数据库:

[[email protected] /]# ll /mysql_data/
总用量 188452
-rw-r----- 1 systemd-bus-proxy ssh_keys       56 8月  20 22:25 auto.cnf
-rw-r----- 1 systemd-bus-proxy ssh_keys     1329 8月  20 22:25 ib_buffer_pool
-rw-r----- 1 systemd-bus-proxy ssh_keys 79691776 8月  20 22:25 ibdata1
-rw-r----- 1 systemd-bus-proxy ssh_keys 50331648 8月  20 22:25 ib_logfile0
-rw-r----- 1 systemd-bus-proxy ssh_keys 50331648 8月  20 22:25 ib_logfile1
-rw-r----- 1 systemd-bus-proxy ssh_keys 12582912 8月  20 22:25 ibtmp1
drwxr-x--- 2 systemd-bus-proxy ssh_keys     4096 8月  20 22:25 mysql
drwxr-x--- 2 systemd-bus-proxy ssh_keys     8192 8月  20 22:25 performance_schema
drwxr-x--- 2 systemd-bus-proxy ssh_keys     8192 8月  20 22:25 sys
drwxr-x--- 2 systemd-bus-proxy ssh_keys       19 8月  20 22:25 testDb
[[email protected] /]# 

已经生成相关的文件和默认数据库,同时也新建了"testDb"数据库.

测试方案一:

在宿主机上通过端口访问容器中的mysql服务

[root@localhost /]# yum -y install mysql

测试登录:

mysql -u root -p123456 -h 127.0.0.1 -P 3306

Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
MySQL [(none)]> 

测试方案二:

自己本地利用mysql 连接工具(eg:Navicat 等)进行连接,注意映射出来的真实端口不一定是3306就好了。

需要注意的是:宿主机上的UID和GID是999。这是容器里用户mysql的UID和GID。千万别进行权限变更,否则容器对这个目录进行读写就会出现问题。如果觉得不舒服,可以在本地新建一个mysql_docker的用户指定UID和GID是999。

(这个注意本人没有落实验证,如果描写信息有错,还望指出)

三、进入到新生成的容器 (名为mysql的容器)

使用exec进入容器,同时进行相关操作:

[root@localhost /]# docker exec -it mysql /bin/bash

查看进程:

root@492ffa26d865:/# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mysql         1  0.2  9.7 1262696 182200 ?      Ssl  14:52   0:00 mysqld
root        127  0.2  0.1  20216  1884 ?        Ss   14:57   0:00 /bin/bash
root        133  0.0  0.0  17492  1148 ?        R+   14:58   0:00 ps -aux

查看数据库所在的文件夹:

root@492ffa26d865:/# ls -l /var/lib/mysql/
total 188452
-rw-r----- 1 mysql mysql       56 Aug 20 14:52 auto.cnf
-rw-r----- 1 mysql mysql     1329 Aug 20 14:52 ib_buffer_pool
-rw-r----- 1 mysql mysql 50331648 Aug 20 14:52 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Aug 20 14:52 ib_logfile1
-rw-r----- 1 mysql mysql 79691776 Aug 20 14:52 ibdata1
-rw-r----- 1 mysql mysql 12582912 Aug 20 14:52 ibtmp1
drwxr-x--- 2 mysql mysql     4096 Aug 20 14:52 mysql
drwxr-x--- 2 mysql mysql     8192 Aug 20 14:52 performance_schema
drwxr-x--- 2 mysql mysql     8192 Aug 20 14:52 sys
drwxr-x--- 2 mysql mysql       19 Aug 20 14:52 testDb

进入mysql:

root@492ffa26d865:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql>

四、修改容器中mysql的配置文件

默认镜像中并没有安装vi或者vim,需要手工安装

root@492ffa26d865:/# apt-get update && apt-get -yq install vim

然后就可以使用vim 来修改mysql的配置文件:

root@492ffa26d865:/# vim /etc/mysql/my.cnf

vim编辑器在此不做详述。

如果已经有一个比较成熟的my.cnf的配置方案,可以在宿主机上新建一个文件夹将已经设置好的my.cnf和conf.d这二个文件放到里面,

然后在新建容器的时候,直接使用参数”-v” 将这个文件夹映射到容器的”/etc/mysql”目录上即可。

原文地址:https://www.cnblogs.com/albertzhangyu/p/10055818.html

时间: 2024-08-30 13:49:31

docker mysql 镜像下载的相关文章

docker mysql镜像安装和使用

docker mysql镜像安装和使用 docker的mysql本次使用的下载docker.index.io的已有镜像orchardup/mysql 参照:https://index.docker.io/u/orchardup/mysql/ 步骤如下:   下载镜像 $ docker pull orchardup/mysql   运行mysql镜像 $ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mysql2014 orchardup/my

Docker - 配置国内加速器加速镜像下载。

引言 由于网络原因,我们在pull Image 的时候,从Docker Hub上下载会很慢...所以,国内的Docker爱好者们就添加了一一些国内的镜像(mirror),方便大家使用. 配置阿里云加速器 1. 登录阿里开发者平台:https://dev.aliyun.com/search.html 2. 点击“创建我的容器镜像” 3. 注册/登录后,进入Docker 镜像仓库 (https://cr.console.aliyun.com/#/imageList),选中加速器 Tab 这里可以看到

Docker镜像下载&Docker镜像操作常用命令

Docker系统简介 Docker系统有两个程序:docker服务端和docker客户端.其中docker服务端是一个服务进程,管理着所有的容器.docker客户端则扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程.大部分情况下,docker服务端和客户端运行在一台机器上. 检查docker版本 检查docker的版本,这样可以用来确认docker服务在运行并可通过客户端链接. 命令如下: [[email protected] ~]# docker version Cl

使用Docker在本地启动3个MySQL镜像

首先执行 sudo docker pull mysql 命令下载mysql官方镜像: [email protected]:~$ sudo docker pull mysql Using default tag: latest latest: Pulling from library/mysql 5e6ec7f28fb7: Pull complete 4140e62498e1: Pull complete e7bc612618a0: Pull complete 1af808cf1124: Pull

Window中的Docker 拉取Mysql镜像 并在本地Navicate链接

首先本地   拉取mysql镜像 以下是所有mysql镜像 我自己下载的为5.6   下面 以5.6为例:(拉取mysql5.6镜像) docker pull mysql:5.6 创建一个容器 docker run --name "mysql" -p 3307:3306 -e MYSQL_ROOT_PASSWORD=自己的数据库密码 -d mysql:5.6 --name    容器的名称 -p       本地(宿主机)端口:容器端口 -e MYSQL_ROOT_PASSWORD=*

Docker中使用163 Hub 镜像下载加速(Centos 6)

在学习Docker的过程中,下载镜像速度特别慢,这是因为Docker Hub并没有在国内部署服务器或者CDN,再加上国内的网速慢等原因,镜像下载就十分耗时.为了克服跨洋网络延迟,能够快速高效地下载Docker镜像,最为有效的方式之一就是:使用 国内的Docker镜像源.下面就介绍一下使用163  镜像源来加速的办法. 添加镜像源: vim /etc/sysconfig/docker 添加如下内容: other_args="--registry-mirror=http://hub-mirror.c

docker学习实践之路[第五站]mysql镜像应用

拉取mysql镜像 docker pull mysql:5.6 #拉取mysql 5.6版本的镜像 运行mysql镜像 docker run --name some-mysql -v /mnt/db:/var/lib/mysql -e [email protected]123 -p 3306:3306 -d mysql:5.6 #-p指定mysql的对外端口 #-e为设置环境变量,MYSQL_ROOT_PASSWORD=123 设置root用户密码为123 #-v设置mysql的存储数据地址,由

解决Docker Hub仓库下载镜像网络异常问题

本文记录下最近在学习Docker容器技术时遇到的一些问题,以此记录下问题分析排查过程 故障问题:通过docker pull 从公共仓库Docker Hub下载镜像失败 [[email protected] ~]# docker pull ubuntu:14.04 Trying to pull repository docker.io/library/ubuntu ... 14.04: Pulling from docker.io/library/ubuntu c2c80a08aa8c: Pull

使用docker中mysql镜像

1.拉取mysql镜像 docker pull mysql:5.6 2.运行mysql的镜像生成一个正在运行的容器,可以通过docker contain ls得到容器的id信息 docker run -dit -p 3306:3306 mysql:5.6 bash # 会返回容器的id,赋值前5.6位就可以了 docker exec -it container_id bash # 使用上面复制的容器ID前5.6位,进入容器 # 使用uname -a查看系统为ubuntu系统 # 查看mysql的