最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker實(shí)踐之docker-compose部署mysql方式

 更新時(shí)間:2023年08月24日 10:25:18   作者:程序員學(xué)編程  
這篇文章主要介紹了docker實(shí)踐之docker-compose部署mysql方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前面用golang寫了一個(gè)api server,但是要用到一些測(cè)試數(shù)據(jù),又要方便給別人,想來用docker部署環(huán)境最簡(jiǎn)單了。

只需要簡(jiǎn)單執(zhí)行兩個(gè)命令就可以搞定了。

博主的環(huán)境是windows然后在windows里面部署一個(gè)centos7的虛擬機(jī)。

在虛擬機(jī)里面安裝部署了docker。

1、安裝部署docker

在linux下面只需簡(jiǎn)單的一個(gè)命令:

yum install docker

其他的系統(tǒng)類似。

2、編寫docker-compose文件

version: '2'
services:
    mysql:
        network_mode: "host"
        environment:
            MYSQL_ROOT_PASSWORD: "yourpassword"
            MYSQL_USER: 'test'
            MYSQL_PASS: 'yourpassword'
        image: "docker.io/mysql:latest" 
        restart: always
        volumes:
            - "./db:/var/lib/mysql"
            - "./conf/my.cnf:/etc/my.cnf"
            - "./init:/docker-entrypoint-initdb.d/"

這里稍微解釋一下,其中,network_mode為容器的網(wǎng)絡(luò)模式,一般自己測(cè)試用host模式就可以了。

MYSQL_ROOT_PASSWORD 為數(shù)據(jù)庫(kù)的密碼,也就是root用戶的密碼。

MYSQL_USER MYSQL_PASS 另外一個(gè)用戶名和密碼。image為你拉取鏡像的地址和版本,當(dāng)然也可以換成自己的鏡像倉(cāng)庫(kù),這里使用官方的。

volumes里面的參數(shù)為映射本地和docker容器里面的文件夾和目錄。

  • ./db 用來存放了數(shù)據(jù)庫(kù)表文件 
  • ./conf/my.cnf 存放自定義的配置文件 
  • ./init 存放初始化的腳本

ports 為映射主機(jī)和容器的端口。

寫好docker-compose.yml后把相應(yīng)的文件夾建好,當(dāng)然也可以換成你自己的。

下面的是博主的文件夾結(jié)構(gòu)。

root@localhost mysql # tree
.
├── conf
│   └── my.cnf
├── db
├── docker-compose.yml
└── init
    └── init.sql

3、編寫配置文件和初始化文件

root@localhost conf # cat my.cnf 
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

這里的配置文件只是一個(gè)簡(jiǎn)單的舉例,大家需要根據(jù)自己的配置來更改。

root@localhost init # cat init.sql 
use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
create database test;
use test;
create table user
(
    id int auto_increment primary key,
    username varchar(64) unique not null,
    email varchar(120) unique not null,
    password_hash varchar(128) not null,
    avatar varchar(128) not null
);
insert into user values(1, "zhangsan","test12345@qq.com","passwd","avaterpath");
insert into user values(2, "lisi","12345test@qq.com","passwd","avaterpath");
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword'; 

這一句比較重要,放開root登入權(quán)限,如果你要在其他的主機(jī)用root用戶登入到數(shù)據(jù)庫(kù)就需要寫入這句話。

其他的語(yǔ)句就是建表操作和插入數(shù)據(jù)的操作了。

4、啟動(dòng)數(shù)據(jù)庫(kù)

root@localhost mysql # docker-compose pull
.......下載鏡像過程
root@localhost mysql # docker-compose up -d
mysql_mysql_1_234be9b015e4 is up-to-date
root@localhost mysql # 

此處需要在存放docker-compose.yml的文件夾進(jìn)行操作。

5、檢查初始化的數(shù)據(jù)

root@localhost mysql # docker ps
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS               NAMES
cffe8d56f222        docker.io/mysql:latest   "docker-entrypoint..."   21 minutes ago      Up 21 minutes                           mysql_mysql_1_234be9b015e4
root@localhost mysql # docker exec -it cffe8d56f222 bash
root@localhost:/# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.13 MySQL Community Server - GPL
Copyright (c) 2000, 2018, 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> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from user;
+----+----------+------------------+---------------+------------+
| id | username | email            | password_hash | avatar     |
+----+----------+------------------+---------------+------------+
|  1 | zhangsan | test12345@qq.com | passwd        | avaterpath |
|  2 | lisi     | 12345test@qq.com | passwd        | avaterpath |
+----+----------+------------------+---------------+------------+
2 rows in set (0.00 sec)

可以看到數(shù)據(jù)存入到數(shù)據(jù)庫(kù)當(dāng)中去。

6、驗(yàn)證遠(yuǎn)程連接

在windows宿主機(jī)上面也可以用Navicat連接上數(shù)據(jù)庫(kù)。

ip填虛擬機(jī)的ip,port填寫3306,密碼為docker-compose文件中的root密碼。

此處需要將宿主機(jī)(我是liunx虛擬機(jī))的防火墻給關(guān)掉,要不然一直連接不上,或者你開啟3306端口給外面訪問也可以。

在這里插入圖片描述

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker-compose快速搭建docker私有倉(cāng)庫(kù)的步驟

    docker-compose快速搭建docker私有倉(cāng)庫(kù)的步驟

    這篇文章主要介紹了docker-compose快速搭建docker私有倉(cāng)庫(kù)的步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 查詢Docker鏡像DockerFile的方法步驟

    查詢Docker鏡像DockerFile的方法步驟

    本文主要介紹了查詢Docker鏡像DockerFile的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • 在Docker中部署Confluence和jira-software的方法步驟

    在Docker中部署Confluence和jira-software的方法步驟

    這篇文章主要介紹了在Docker中部署Confluence和jira-software的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-06
  • Docker中的容器數(shù)據(jù)持久化問題

    Docker中的容器數(shù)據(jù)持久化問題

    本文介紹了Docker容器中數(shù)據(jù)持久化的方法,包括默認(rèn)的可讀寫層、volumes、bindmounts和tmpfs,volumes是官方推薦的持久化方案,而bindmount和tmpfs則適用于不同的場(chǎng)景,在使用mount類型時(shí),需要注意一些細(xì)節(jié),如掛載空volume、bindmount非空目錄等
    2026-03-03
  • 如何使用docker compose 部署ELK 8.X及監(jiān)控

    如何使用docker compose 部署ELK 8.X及監(jiān)控

    這篇文章主要介紹了如何使用docker compose 部署ELK 8.X及監(jiān)控,包括前置環(huán)境配置及docker compose啟動(dòng)/停止的命令,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • Docker 容器日志查看和清理的實(shí)現(xiàn)步驟

    Docker 容器日志查看和清理的實(shí)現(xiàn)步驟

    在處理Docker容器的過程中,經(jīng)常需要查看容器的日志輸出來排查問題或者進(jìn)行系統(tǒng)監(jiān)控,本文主要介紹了Docker容器日志查看和清理的實(shí)現(xiàn)步驟,感興趣的可以了解一下
    2023-11-11
  • 用Docker部署Fenrus導(dǎo)航頁(yè):打造專屬的極簡(jiǎn)高效瀏覽器首頁(yè)

    用Docker部署Fenrus導(dǎo)航頁(yè):打造專屬的極簡(jiǎn)高效瀏覽器首頁(yè)

    該文章介紹了使用Fenrus和cpolar搭建個(gè)性化的瀏覽器首頁(yè)的方法,包括使用Docker部署Fenrus、配置cpolar實(shí)現(xiàn)公網(wǎng)訪問等步驟,并詳細(xì)闡述了部署過程和使用方法,感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • Windows遠(yuǎn)程連接Docker服務(wù)的操作方法

    Windows遠(yuǎn)程連接Docker服務(wù)的操作方法

    本文介紹了在Windows系統(tǒng)下如何通過配置遠(yuǎn)程連接到Docker服務(wù)端,實(shí)現(xiàn)Docker客戶端遠(yuǎn)程訪問和管理Docker容器,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-11-11
  • Ubuntu Docker 的安裝部署及簡(jiǎn)單應(yīng)用

    Ubuntu Docker 的安裝部署及簡(jiǎn)單應(yīng)用

    這篇文章主要介紹了Ubuntu Docker 的安裝部署的相關(guān)資料,這里說明介紹了詳細(xì)的步驟,需要的朋友可以參考下
    2016-10-10
  • Docker 徹底刪除私有庫(kù)鏡像的操作

    Docker 徹底刪除私有庫(kù)鏡像的操作

    這篇文章主要介紹了Docker 徹底刪除私有庫(kù)鏡像的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評(píng)論

揭西县| 忻城县| 岑巩县| 杭州市| 台东市| 镇康县| 托克逊县| 逊克县| 永登县| 三门县| 玛多县| 镇平县| 溧水县| 富蕴县| 永靖县| 温宿县| 高雄市| 洪江市| 黄平县| 平和县| 康乐县| 西乡县| 都兰县| 平顺县| 葫芦岛市| 于田县| 芦山县| 林西县| 杭锦旗| 溧水县| 兴安盟| 棋牌| 互助| 蒲江县| 蛟河市| 台湾省| 鸡泽县| 大新县| 搜索| 象山县| 甘肃省|