Docker安裝MySQL鏡像的詳細步驟(適合新手小白)
前言
自從用了Docker之后,發(fā)現(xiàn)裝東西是真的香,不用在自己根據(jù)下載壓縮包一個個的去解壓、執(zhí)行、配置環(huán)境等等操作。想要啥直接就用Docker直接即拿即用,灰常的舒服啊。話不多說,正式開干,直接開始安裝步驟。以下所有的安裝前提是你裝了Docker引擎了,不要告訴我連Docker基本環(huán)境都沒安裝。
安裝
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文件、存儲配置文件
掛載出來,所以用以下更全的會相對好一些,這樣重啟容器也不會造成丟失數(shù)據(jù)。就是在基礎的啟動命令上加一些掛載命令
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:版本號`
加載鏡像包
進入離線環(huán)境,將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,如果有一些轉發(fā)的配置項,可以通過掛載卷的方式掛載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鏡像的資料請關注腳本之家其它相關文章!
相關文章
MySQL8.x登陸root用戶突然提示mysql_native_password的實現(xiàn)
本文主要介紹了MySQL 8.x登陸root用戶突然提示mysql_native_password,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-08-08Unity連接MySQL并讀取表格數(shù)據(jù)的實現(xiàn)代碼
本文給大家介紹Unity連接MySQL并讀取表格數(shù)據(jù)的實現(xiàn)代碼,實例化的同時調用MySqlConnection,傳入參數(shù),這里的傳入參數(shù)個人認為是CMD里面的直接輸入了,string格式直接類似手敲到cmd里面,完整代碼參考下本文2021-06-06Mysql row number()排序函數(shù)的用法和注意
這篇文章主要介紹了Mysql row number()排序函數(shù)的用法和注意 的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07