前言
自从用了docker之后,发现装东西是真的香,不用在自己根据下载压缩包一个个的去解压、执行、配置环境等等操作。想要啥直接就用docker直接即拿即用,灰常的舒服啊。话不多说,正式开干,直接开始安装步骤。以下所有的安装前提是你装了docker引擎了,不要告诉我连docker基本环境都没安装。
安装
1.访问docker镜像仓库官网
找到mysql,这里我是用5.7版本来给大家演示。
https://hub.docker.com/




2.找到对应的版本,复制右侧的命令即可
#将命令放在linux上敲击回车即可 docker pull mysql:5.7

3.查看镜像
等拉取好了镜像之后,docker images 查看一下镜像是否拉取成功。

4.启动简单的mysql例子
如果只是单纯的想启动mysql看看,可以直接配置好密码即可
#docker run --name some-mysql -e mysql_root_password=my-secret-pw -d mysql:tag docker run -p 3306:3306 --name sample-mysql -e mysql_root_password=123456 -d mysql:5.7
5.启动完整的mysql例子
有些时候,我们会想把mysql的存储data文件、存储配置文件挂载出来,所以用以下更全的会相对好一些,这样重启容器也不会造成丢失数据。就是在基础的启动命令上加一些挂载命令
docker run -p 3306:3306 --name sample-mysql -e mysql_root_password=123456 -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -d mysql:5.7
/mydata/mysql/log: 自己宿主机上的一个目录路径 映射 容器中的 /var/log/mysql
/mydata/mysql/data:自己宿主机上的一个目录路径 映射 容器中的 /var/lib/mysql
/mydata/mysql/conf:自己宿主机上的一个目录路径 映射 容器中的 /etc/mysql
6.查看运行容器
使用docker ps 查看刚才的容器是否运行起来

这时候mysql其实就安装成功啦!
7.授权
可以跳过这一步,直接用步骤8也可以。
#进入mysql容器中 docker exec -it sample-mysql /bin/bash #登录mysql mysql -uroot -p123456 #授权 grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
8.用navicat工具连接


拓展:docker离线部署前端镜像
镜像打包
1.拉取前端镜像
docker pull <registry-url>/<namespace>/<image-name>:<tag>
2.将镜像打包为tar文件
`docker save -o frontend_版本号.tar frontend:版本号`
加载镜像包
进入离线环境,将tar包加载为镜像
docker load -i frontend_版本号.tar
加载后可以通过docker images 查看镜像id
启动容器
镜像加载后,可以启动该容器:
docker run --name frontend -p 80:80 \
-v /etc/nginx/conf.d:/etc/nginx/conf.d:ro \
-d [frontend 镜像id]
-p: 映射容器端口到主机端口,格式为<主机端口>:<容器端口> -d: 后台运行 -v: 挂载卷,此处挂载配置文件
容器启动后就可以通过外部ip访问该ng服务了。
nginx配置文件
一般前端镜像会带一个nginx,如果有一些转发的配置项,可以通过挂载卷的方式挂载nginx配置文件:
提前准备好nginx配置文件,上面demo中,将ng配置放到了主机的/etc/nginx/conf.d/default.conf中。
server {
listen *:80;
server_name *.bressanone.fun;
client_max_body_size 1g;
location / {
root /dist/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript application/json text/css text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript;
gzip_vary on;
}
location ^~/api/ {
proxy_pass http://后端服务/api/;
proxy_connect_timeout 60s;
proxy_read_timeout 120s;
proxy_send_timeout 120s;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header x-forwarded-proto http;
proxy_http_version 1.1;
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection "upgrade";
proxy_set_header host $http_host;
}
}
进入容器
可以通过 exec命令进入容器
docker exec -it frontend /bin/bash
以上就是docker安装mysql镜像的详细步骤(适合新手小白)的详细内容,更多关于docker安装mysql镜像的资料请关注代码网其它相关文章!
发表评论