精华内容
下载资源
问答
  • 使用dockermysql镜像

    万次阅读 2018-01-26 22:21:03
    环境 macOS 10.13.2 docker 17.12.0 ...到官网查看mysql镜像相关信息,使用docker指令pull安装 docker pull mysql:5.7.21 使用docker指令images查看是否安装成功 初次运行镜像 docker run --

    环境

    • macOS 10.13.2

    • docker 17.12.0

    • mysql镜像版本 5.7.21

    确保docker运行

    这里写图片描述


    安装mysql镜像

    官网查看mysql镜像相关信息,使用docker指令pull安装

    docker pull mysql:5.7.21

    使用docker指令images查看是否安装成功

    [1]


    初次运行镜像

    docker run --name mysql.5.7.21 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Nzy19970502 -d mysql:5.7.21
    • —name 为设置容器的名字,我设置为mysql.5.7.21

    • -p 端口映射

    • -e 为设置执行时的环境变量,在这里我设置mysql的root密码,相关变量可参考官网

    • -d 为设置镜像,镜像名:版本

    完成后使用docker命令ps查看是否成功运行

    docker ps

    这里写图片描述

    使用终端登录数据库

    mysql -h 127.0.0.1 -P 3306 -u root

    docker run -it --link mysql.5.7.21:mysql --rm mysql:5.7.21 sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -p'
    • -it 使用交互模式

    • –link 连接运行的容器 mysql.5.7.21 为之前首次运行时创建的容器名,冒号后为镜像名

    输入密码,到达交互界面

    这里写图片描述

    创建一个数据库以及一张表

    CREATE DATABASE test;
    USE test;
    CREATE TABLE `user` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(45) DEFAULT NULL,
      PRIMARY KEY (`id`)
    )

    这里写图片描述


    退出容器并停止

    终止当前docker进程

    docker stop $(docker ps --filter=ancestor=mysql:5.7.21 --format "{{.ID}}")
    • $() 可获取一条指令的返回值,指令为获取运行镜像mysql:5.7.21容器的ID

    这里写图片描述


    再次运行容器

    先查看有哪些已存在的容器,并使用ID启动容器

    docker ps -a
    

    这里写图片描述

    启动

    docker start 60a4f6de39c2

    使用cli登录同上一节第二个指令

    这里写图片描述


    导出数据

    导出创建的数据库test

    要保持mysql运行,导出到桌面

    docker exec mysql.5.7.21 /usr/bin/mysqldump -u root --password=Nzy19970502 test > ~/Desktop/test.sql

    这里写图片描述

    展开全文
  • 主要介绍了docker官方mysql镜像自定义配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • dockermysql镜像使用

    万次阅读 2017-01-12 00:02:04
    dockermysql镜像使用 在自己写一些东西的使用要使用mysql数据库,正好这个时候在接触docker。当时就在想为什么就不直接使用dockermysql镜像呢? 获取镜像docker pull mysql在这里不讲docker的安装,使用上面的...

    docker之mysql镜像使用

    在自己写一些东西的使用要使用mysql数据库,正好这个时候在接触docker。当时就在想为什么就不直接使用docker的mysql镜像呢?

    获取镜像

    docker pull mysql

    在这里不讲docker的安装,使用上面的命令就可以直接拉取最新的mysql镜像。

    设置用户和密码

    在拉取完mysql镜像后,就直接使用了:

    docker run -r -t mysql

    发现了提示如下错误:

    error: database is uninitialized and password option is not specified 
      You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD

    通过读取官方文档,发现,在使用mysql镜像的时候需要提供mysql用户名和密码,如果是使用root用户登录的时候,需要提供root用户的密码。提供密码的方式很简单,就是使用docker run-e 指令,

    docker run -i -t -e MYSQL_ROOT_PASSWORD=hsulei mysql

    可以使用-p 命令对外暴露3306端口。这样我们的数据库管理工具就能够连接并管理docker中的mysql镜像了。

    挂载数据卷

    每次启动一个mysql镜像的时候,数据库都是空的,每次操作的时候都要重新建表,这个非常不友好。我们可以使用-v 来挂载本地的数据库文件到mysql镜像中的/var/lib/mysql目录下。

    docker run -i -t -v -p 3306:3306 /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=hsulei mysql

    但是,这样挂载了数据卷的时候,我的workbench就无法访问此时的mysql镜像了。出现的问题是:不允许连接到数据库。去google了一下,有的说是mysql对访问的ip进行了闲置,只能是localhost进行连接,我进入了mysql镜像中,查看配置后,返现在mysql镜像中的配置文件中已经取消了访问ip的限制。那问题出在哪呢,然后又看到有人说要修改系统表,把root用户修改成任何ip都能访问。这时想到,我是通过挂载数据卷的方式启动的mysql镜像。那么在镜像中的数据库就是使用我本地的数据库文件,也就是说在启动的时候我没有必要指定root用户密码,

    进入本地的mysql对root数据进行修改:

    mysql>use mysql;
    mysql>update  user set host = '%' where user= 'root';
    mysql>selecthost, userfromuser;

    然后再通过挂载数据卷的方式,就能通过workbench愉快的玩耍了。(docker-compose,也是这样)。

    展开全文
  • dockermysql镜像

    2021-09-09 22:07:25
    docker部署需要
  • Docker构建MySQL镜像并初始化

    千次阅读 2019-06-30 13:26:59
    文章目录Docker构建MySQL镜像并初始化Dockerfile 的一些常用语法FROMRUNCMDENVCOPYADDWORKDIREXPOSE构建自带初始化的 MySQL 镜像Dockerfile启动脚本schema.sqlprivileges.sql Docker构建MySQL镜像并初始化 使用 ...

    Docker构建MySQL镜像并初始化

    使用 docker 直接 pull MySQL 的镜像是很简单,但是有时候却需要对容器做一些初始化操作,比如挂载配置文件和初始化数据库等,这些就需要通过巧妙利用 Dockerfile 来实现。

    Dockerfile 的一些常用语法

    docker 可以通过 Dockerfile 构建新的镜像,掌握 Dockerfile 的编写,是 docker 入门学习的第一步。

    FROM

    Dockerfile 的第一条指令,指定基础镜像,即你的镜像是在什么镜像的基础上构建的。比如这里我要制作基于 MySQL 的镜像,那么就是

    FROM mysql
    

    可以在镜像后指定特定版本,如果没有,则默认 latest。

    FROM mysql:5.7.25
    

    RUN

    容器中 运行指定的命令。

    有两种命令格式。

    1. 直接跟 shell 命令。
    RUN <command>
    
    1. 调用可执行文件,支持传参调用。
    RUN ["executable", "param1", "param2"]
    

    需要注意的是,Dockerfile 中每条命令都会构建一层镜像,如有多条 RUN 命令,尽量不要拆开写成多个 RUN 命令,这会导致镜像多层、臃肿、容易出错。建议是写成一句或者放到一个 sh 文件中批量执行。

    CMD

    命令格式类似 RUN,但区别是,RUN是构建容器时就运行的命令以及提交运行结果,CMD 指定的是容器启动时执行的命令,在构建时并不运行。

    需要注意的是,RUN 可以有多个,且每个都能起作用;而 CMD 虽然也可以有多个,但是只以最后一个为准。

    ENV

    设置环境变量。

    有两种命令格式,但作用相同。

    1. 设置一对环境变量。
    ENV <key> <value>
    
    1. 设置一对或多对环境变量。
    ENV <key>=<value> ...
    

    COPY

    复制文件到容器中。

    常用命令格式

    COPY <src>... <dest>
    
    COPY ["<src>",... "<dest>"]
    

    ADD

    将文件打包进容器,可以理解为 COPY 的升级版。

    ADD <src>... <dest>
    
    ADD ["<src>",... "<dest>"]
    

    其中 ADD 的 <src> 不仅支持本地文件,还支持 url (类似 wget)。

    WORKDIR

    设置工作目录,也就是在容器中执行命令时所在的目录。

    WORKDIR <path>
    

    EXPOSE

    暴露容器监听的内部端口到外部,如果外部需要访问该内部端口,需要指定端口映射。

    EXPOSE <port>
    

    构建自带初始化的 MySQL 镜像

    Dockerfile

    首先,Dockerfile 长这样,具体的命令上面有解释。核心逻辑就是拷贝三个文件进去,然后在容器启动的时候执行 setup.sh,由 setup.sh 执行另外两个文件。

    FROM mysql:5.7.25
    
    # allow no password
    ENV MYSQL_ALLOW_EMPTY_PASSWORD yes
    
    # copy file into container
    COPY setup.sh /mysql/setup.sh
    COPY schema.sql /mysql/schema.sql
    COPY privileges.sql /mysql/privileges.sql
    
    # exec these command when container start up
    CMD ["sh", "/mysql/setup.sh"]
    

    这里首先设置允许免密登录是为了方便后面配置,密码最后再通过 privileges.sql 来设置。

    启动脚本

    setup.sh的作用就是启动 MySQL 服务,然后执行两个 sql 文件。

    #!/bin/bash
    set -e
    
    echo '1. starting mysql...'
    service mysql start
    
    echo '2. creating database...'
    mysql < /mysql/schema.sql
    
    # set password
    echo '3. setting password....'
    mysql < /mysql/privileges.sql
    
    # check mysql status
    echo `service mysql status`
    echo '4. mysql for baobaozhuan is ready...'
    
    tail -f /dev/null
    

    schema.sql

    一些对于数据库的初始化操作可以放在这里,比如这里我们需要创建一个数据库。当然,建表,插入数据那些都是可以的。

    create database if not exists baobaozhuan;
    

    privileges.sql

    这个文件是对 MySQL 进行一些权限配置,比如设置用户密码,创建新用户,数据库授权等。

    后面两句很重要,一开始没有加上授权,结果 go server 一直连不上 docker 里面的 MySQL server。

    use mysql;
    -- new user
    set password for root@localhost = password('SYSU_baobaozhuan2019');
    -- important
    grant all on *.* to root@'%' identified by 'SYSU_baobaozhuan2019' with grant option;
    -- use privileges
    flush privileges;
    

    欢迎访问我们的项目:https://swsad-dalaotelephone.github.io/docs/


    展开全文
  • docker离线mysql镜像.zip

    2020-10-16 23:38:11
    docker离线安装mysql镜像文件,并附带docker加载配置流程,服务器在无网络情况下即可轻松部署mysql服务。
  • docker下载mysql镜像并启动容器下载mysql镜像运行一个mysql容器 下载mysql镜像 docker pull mysql 运行一个mysql容器 docker run --name first-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d mysql ...

    下载mysql镜像

    docker pull mysql

    在这里插入图片描述

    运行一个mysql容器

    命令

    docker run --name mysql3306 -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=ffcsffcs -d mysql

    参数含义

    run 运行一个容器
    –name 后面是这个镜像的名称
    -p 3306:3306 表示在这个容器中使用3306端口(第二个)映射到本机的端口号也为3306(第一个)
    -e root帐号密码
    -d 表示使用守护进程运行,即服务挂在后台

    查看当前运行的容器状态

    docker ps
    docker ps -a

    在这里插入图片描述

    进入容器

    sudo docker exec -it mysql3306 bash

    在这里插入图片描述

    使用root登录mysql

    mysql -u root -p

    在这里插入图片描述

    重启mysql容器

    1. 查询容器ID
    docker ps -a
    1. 根据容器ID重启容器
    docker restart 5e2fc2de8468

    在这里插入图片描述

    展开全文
  • Docker 拉取 mysql 镜像

    2019-11-29 09:59:48
    1.搜索镜像 docker search mysql 2.拉取镜像 ...docker run --name "mysql-02" -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 4.进入容器添加远程访问 docker exec -it mysql-02 ...
  • Docker安装mysql镜像

    2019-04-23 17:10:24
    1.拉取mysql镜像 docker pull mysql:8.0 2.查看镜像,找到mysql8.0的镜像id docker images 3.创建容器 docker create -it --name mysql8.0 镜像id /bin/bash 4.启动容器 docker start -ai mysql8.0 ...
  • Docker关于mysql镜像的使用

    千次阅读 2018-04-05 23:49:28
    获取镜像 可以通过运行以下命令实现: ...# 获取最新版本的mysql镜像 $ sudo docker pull mysql:latest 了解镜像mysql镜像 # docker history [OPTIONS] IMAGE查看镜像分层 $ sudo docker history mysql IMAGE ...
  • Docker安装mysql镜像及客户端无法连接

    千次阅读 2018-11-23 15:47:11
    1.Docker安装mysql镜像 在官网查看mysql镜像相关信息 安装 mysql5.7.21 docker pull mysql:5.7.21 查看mysql是否安装成功 运行镜像 docker run --name mysql.5.7.21 -p 3306:3306 -e MYSQL_ROOT_PASSWORD...
  • docker拉取mysql镜像半个小时依然没有成功,改用阿里云镜像加速器。 1、进入阿里云平台 https://promotion.aliyun.com/ntms/act/kubernetes.html,镜像搜索mysql ,制加速器链接 2、进入虚拟机修改docker配置 vim /...
  • 1.拉取mysql镜像(理解为下载mysql压缩文件) docker pull mysql 2.创建mysql容器(理解为买了一台服务器、并将mysql压缩文件部署在了服务器上) docker run --name mysqldb -e MYSQL_ROOT_PASSWORD=123456 -d ...
  • 使用docker制作Mysql镜像

    千次阅读 2019-03-08 10:48:00
    通过Dockerfile创建mysql镜像,使用的mysql软件包为mariadb二进制分发版,最终在宿主机启动mysql容器从而能在mysql容器外部访问mysql服务。 宿主机IP:172.20.236.106 宿主机操作系统:CentOS7.5(x86_64) 宿...
  • DOCKER mysql 离线镜像

    2018-06-01 19:04:18
    用于docker离线安装mysql镜像,解压到制定目录,导入即可
  • Docker创建mysql镜像

    千次阅读 2016-01-20 15:54:56
    下载文件 到 Dockerpool 的 github 页面下载需要的文件。 $ git clone ...Cloning into 'mysql'... remote: Counting objects: 13, done. remote: Compressing objects: 100% (13/13), don
  • docker安装mysql镜像

    千次阅读 2019-07-10 17:18:53
    mkdir mysql cd mysql mkdir data mkdir conf cd conf vi my.conf # 按i 输入下面的配置 # 完成后按esc键退出编辑的状态 # 先按:键 再按w键 再按q键 再按enter键 报存退出 [mysqld] character-set-server=utf8...
  • 1、启动docker,下载mysql5.7的镜像 docker run -p 3306:3306 --name mysql5.7 -v /data/mysql5.7/conf:/etc/mysql/conf.d -v /data/mysql5.7/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:...
  • 基于docker.io/caio2k/centos7:latest镜像(直接docker pull下载即可),在里面通过shell脚本安装了mysql相关软件包,修改ssh登录密码,然后commit一个新镜像commit:mysqlv1 安装mysql服务脚本可参考:...
  • docker拉取mysql镜像速度很慢

    千次阅读 2018-04-17 17:51:31
    1. 直接通过docker拉取镜像遇到的问题:熟悉的timeout!!!sysuygm@sysuygm:~$ docker pull mysql:5.7 5.7: Pulling from library/mysql 85b1f47fba49: Pulling fs layer 5671503d4f93: Download complete 3b43b3...
  • Mac 下Docker安装Mysql镜像

    千次阅读 2018-03-19 14:24:19
    下载安装docker 如果需要手动下载,请点击以下链接下载 Stable 或 Edge 版本的Docker for Mac。 如同 macOS其它软件一样,安装也非常简单,双击下载的.dmg文件,然后将鲸鱼图标拖拽到Application文件夹即可 启动...
  • 1.CentOS下启动docker失败  1.1安装docker后启动失败并出现以下信息:  Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service"...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,933
精华内容 19,973
关键字:

docker进入mysql镜像

mysql 订阅