博主的工作环境是centos7
以下操作都是基于centos7
安装docker
1.yum安装
yum install docker -y
docker –version 查看版本号
注:这样安装的docker1.2版本,官网上给的大部分文档都是基于docker1.3的,所以建议使用下面的方面
2.参考官网https://docs.docker.com/engine/installation/
启动docker
systemctl enable docker #设置docker开机自启
systemctl start docker #开启docker
获得mysql镜像
1.搜索镜像
docker search mysql
可以看到有很多mysql镜像
我们直接选择stats最多的镜像
2.从远处库拉取镜像
docker pull mysql
3.查看镜像
docker images
运行mysql
docker run –name mysqlTest - p 3307:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql
–name #镜像运行的名称,也就是container的名称
-p 3307:3306 将这个contariner的3306端口映射到宿主机3307端口
-e 设置变量
-d 表示在后台运行
查看容器
docker ps
进入容器,并创建数据库和表
docker exec -it mysqlTest bash
mysql -uroot -p
输入密码:123456
创建数据库和表
create database test
use test
create table user(id VARCHAR(20),name VARCHAR(25),age INT(4))
编写代码连接mysql
注:这里我用的是golang,其他语言也一样。只需要知道ip是0.0.0.0,端口是我们之前自己设定的3306到3309的3309端口。
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql" )
func main() {
insert()
}
//插入demo
func insert() {
db, err := sql.Open("mysql", "root:123456@(0.0.0.0:3307)/test?charset=utf8")
checkErr(err)
stmt, err := db.Prepare(`INSERT user (id,name,age) values (?,?,?)`)
checkErr(err)
res, err := stmt.Exec("002", "xiaowu", 22)
checkErr(err)
id, err := res.LastInsertId()
checkErr(err)
}
执行代码
go run xxx.go
写入数据库完成,可以知道到容器中查看,或者再程序中写个查询语句。
OK!
下次再来详细说说如何自己制作docker镜像!