初識(shí)docker

相關(guān)鏈接

Golang的docker嘗試https://studygolang.com/articles/11427
創(chuàng)建超小的Golang docker 鏡像https://colobu.com/2015/10/12/create-minimal-golang-docker-images/

基礎(chǔ)命令

docker ps // 查看所有正在運(yùn)行容器
docker ps -a                            列出所有容器
docker ps -a -q // 查看所有容器ID
docker stop <containerID>               停止指定ID的容器
docker rm <containerID>                  刪除指定ID的容器

docker stop $(docker ps -a -q) //  stop停止所有容器
docker  rm $(docker ps -a -q) //   remove刪除所有容器

docker image ls                       列出所有鏡像
docker image rm <imageID>   刪除指定ID的鏡像亲善,imageID可以只寫前三位

docker container ls -a              列出終止?fàn)顟B(tài)的容器
docker container start <containerID>  //重啟容器

docker build -t <name> .          編譯鏡像嘹锁,注意最后的點(diǎn)符號(hào)是指定當(dāng)前目錄

docker啟動(dòng)mysql

// 拉取
docker pull mysql  

//啟動(dòng) mysql 容器(  參數(shù) -i -t 等價(jià)于 -it  表示insert , 進(jìn)入 ;  /bin/bash 表示 shell 腳本交互界面 )
docker run -it mysql /bin/bash

//查看mysql版本號(hào)
mysql --version

//退出容器
exit

//想要服務(wù)一直運(yùn)行
//(參數(shù) -p 設(shè)置端口正卧,--name 取名 ,-e MYSQL_ROOT_PASSWORD=123456 設(shè)置 賬號(hào)為 root 炉擅,密碼為 sql123456  -d 表示作為一個(gè)守護(hù)進(jìn)程在后臺(tái)運(yùn)行 )
docker run -p 3306:3306 --name mysqlTest -e MYSQL_ROOT_PASSWORD=sql123456 -d mysql

//查看運(yùn)行的容器
docker ps -a

//查看容器對(duì)應(yīng)的端口號(hào)
docker port mysqlTest

//方法一赂苗、啟動(dòng)mysql(本機(jī)裝了mysql)
mysql -h 127.0.0.1 -u root -p


//方法二帆离、啟動(dòng)mysql(本機(jī)沒裝mysql)
//先進(jìn)入容器內(nèi)、再啟動(dòng)mysql
docker exec -it mysqlTest /bin/bash
mysql -u root -p

//新建數(shù)據(jù)庫(kù)
create database mysqlTest;

//查看數(shù)據(jù)庫(kù)
show databases;

//選定表
use mysqlTest;

//查看表結(jié)構(gòu)
show tables;

//查看表數(shù)據(jù)
select * from “表名”;
屏幕快照 2019-05-22 下午5.57.15.png

服務(wù)端連接數(shù)據(jù)庫(kù)

func initDB() (*gorm.DB, error) {
    s := Mysql{
        UserName:     "root",
        Password:     "12345678",
        Database:     "mysqlTest",
        Address:      "tcp(localhost:3306)",
        Parameters:   "charset=utf8&parseTime=True&loc=Local",
        MaxIdle:      10,
        MaxOpen:      20,
        Debug:        true,
        MigrationDir: "",
    }
    fmt.Println("connect string", s.String())

    db, err := gorm.Open("mysql", s.String())
    if err != nil {
        fmt.Println("Open error", err)

        return nil, err
    }

    err = db.DB().Ping()
    if err != nil {
        fmt.Println("Ping error", err)

        return nil, err
    }

    db.DB().SetMaxIdleConns(s.MaxIdle)
    db.DB().SetMaxOpenConns(s.MaxOpen)
    db.LogMode(s.Debug)

     err = db.AutoMigrate(&User{}).Error
    if err != nil {
        fmt.Println("AutoMigrate error", err)
        return nil, err
    }

    return db, nil
}

報(bào)錯(cuò):this authentication plugin is not supported
解決:這里是因?yàn)镸ySQL 8 支持新的加強(qiáng)的密碼加密僧叉,這里有兩種密碼類型

Use Strong Password Encryption
Use Legacy Password Encryption

docker啟動(dòng)mysql時(shí)默認(rèn)是第一個(gè)strong類型奕枝,但是很多終端還不支持strong的加密插件。
需要改為legacy類型

可以在mysql中查看,結(jié)果見下圖:

mysql>  select host,user,plugin from mysql.user;
屏幕快照 2019-05-22 下午6.01.28.png

將里面這幾項(xiàng)逐項(xiàng)改為legacy類型:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345678';
ALTER USER 'mysql.infoschema'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
ALTER USER 'mysql.session'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';
ALTER USER 'mysql.sys'@'localhost' IDENTIFIED WITH mysql_native_password BY '12345678';

再次查看瓶堕,結(jié)果如下


屏幕快照 2019-05-22 下午6.07.05.png

再去服務(wù)端連接數(shù)據(jù)庫(kù)隘道,發(fā)現(xiàn)OK啦

docker啟動(dòng)ETCD

相關(guān)鏈接https://github.com/etcd-io/etcd/releases

etcd uses gcr.io/etcd-development/etcd as a primary container registry, and quay.io/coreos/etcd as secondary.

rm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \
  docker rmi gcr.io/etcd-development/etcd:v3.3.13 || true && \
  docker run \
  -p 2379:2379 \
  -p 2380:2380 \
  --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \
  --name etcd-gcr-v3.3.13 \
  gcr.io/etcd-development/etcd:v3.3.13 \
  /usr/local/bin/etcd \
  --name s1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster s1=http://0.0.0.0:2380 \
  --initial-cluster-token tkn \
  --initial-cluster-state new

下一步進(jìn)入容器進(jìn)行操作

docker exec etcd-gcr-v3.3.13 /bin/sh -c "/usr/local/bin/etcd --version"
docker exec etcd-gcr-v3.3.13 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl version"
docker exec etcd-gcr-v3.3.13 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl endpoint health"
docker exec etcd-gcr-v3.3.13 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl put foo bar"
docker exec etcd-gcr-v3.3.13 /bin/sh -c "ETCDCTL_API=3 /usr/local/bin/etcdctl get foo"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市郎笆,隨后出現(xiàn)的幾起案子谭梗,更是在濱河造成了極大的恐慌,老刑警劉巖宛蚓,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件激捏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡凄吏,警方通過查閱死者的電腦和手機(jī)远舅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來竞思,“玉大人表谊,你說我怎么就攤上這事钞护「桥纾” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵难咕,是天一觀的道長(zhǎng)课梳。 經(jīng)常有香客問我,道長(zhǎng)余佃,這世上最難降的妖魔是什么暮刃? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮爆土,結(jié)果婚禮上椭懊,老公的妹妹穿的比我還像新娘。我一直安慰自己步势,他們只是感情好氧猬,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坏瘩,像睡著了一般盅抚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上倔矾,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天妄均,我揣著相機(jī)與錄音柱锹,去河邊找鬼。 笑死丰包,一個(gè)胖子當(dāng)著我的面吹牛禁熏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播烫沙,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼匹层,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了锌蓄?” 一聲冷哼從身側(cè)響起升筏,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瘸爽,沒想到半個(gè)月后您访,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡剪决,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年灵汪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柑潦。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡享言,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出渗鬼,到底是詐尸還是另有隱情览露,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布譬胎,位于F島的核電站差牛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏堰乔。R本人自食惡果不足惜偏化,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望镐侯。 院中可真熱鬧侦讨,春花似錦、人聲如沸苟翻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽袜瞬。三九已至怜俐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間邓尤,已是汗流浹背拍鲤。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工贴谎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人季稳。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓擅这,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親景鼠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子仲翎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359