Ubuntu18.04下docker基本指令和使用docker安裝mysql8.X并備份數(shù)據(jù)到宿主主機(jī)

一、 docker 基本指令

快速安裝docker

sudo sh -c "$(curl -fsSL https://get.docker.com)" 或 curl -sSL https://get.docker.com/ | sh
sudo usermod -aG docker $USER

第一行用docker官方提供的script快速安裝
第二行將現(xiàn)有的使用者加入docker群組屁奏,否則會(huì)沒有權(quán)限操作docker命令。
記得注銷賬號(hào)重登,以獲取docker操作權(quán)限。

執(zhí)行sudo docker run hello-world查看是否安裝成功甘耿。
如果出現(xiàn)以下畫面則安裝成功:

測試docker安裝成功.png

常用docker基本指令

1 啟動(dòng)/關(guān)閉 docker服務(wù)

service docker start 或者 systemctl start docker // 啟動(dòng)
service docker stop 或者 systemctl stop docker // 關(guān)閉

2 創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用OPTIONS說明:
  -a stdin: 指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類型,可選 STDIN/STDOUT/STDERR 三項(xiàng)竿滨;
  -d: 后臺(tái)運(yùn)行容器佳恬,并返回容器ID;
  -i: 以交互模式運(yùn)行容器姐呐,通常與 -t 同時(shí)使用殿怜;
  -P: 隨機(jī)端口映射典蝌,容器內(nèi)部端口隨機(jī)映射到主機(jī)的高端口;
  -p: 指定端口映射曙砂,格式為:主機(jī)(宿主)端口:容器端口;
  -t: 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用骏掀;
  -e <環(huán)境變量名>="<值>": 設(shè)置環(huán)境變量鸠澈;
  --name="<container-name>": 為容器指定一個(gè)名稱柱告;

例如:
使用docker鏡像nginx:latest以后臺(tái)模式啟動(dòng)一個(gè)容器,并將容器命名為mynginx。

docker run --name mynginx -d nginx:latest

3 只創(chuàng)建而不運(yùn)行容器(選項(xiàng)同option)

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

4 刪除一個(gè)或多個(gè)容器

docker rm [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS說明:
  -f :通過SIGKILL信號(hào)強(qiáng)制刪除一個(gè)運(yùn)行中的容器
  -l :移除容器間的網(wǎng)絡(luò)連接笑陈,而非容器本身
  -v :-v 刪除與容器關(guān)聯(lián)的卷

例如:
強(qiáng)制刪除容器db01际度、db02

docker rm -f db01 db02

5 在運(yùn)行的容器中執(zhí)行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS說明:
   -d :分離模式: 在后臺(tái)運(yùn)行
  -i :即使沒有附加也保持STDIN 打開
  -t :分配一個(gè)偽終端

6 查看已有下載鏡像(images)

docker images

7刪除已下載鏡像

docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS說明:
  -f :強(qiáng)制刪除;
  --no-prune :不移除該鏡像的過程鏡像涵妥,默認(rèn)移除乖菱;

例如:
刪除測試docker安裝成功的hello-world:

docker rmi -f hello-world:latest 

二、 使用docker安裝mysql

1 下載最新mysql鏡像

docker pull mysql:latest

2 運(yùn)行容器

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

部分參數(shù)說明:
  mysql-test:容器名
  -p 3306:3306 :映射容器服務(wù)的 3306 端口到宿主機(jī)的 3306 端口蓬网,外部主機(jī)可以直接通過 宿主機(jī)ip:3306 訪問到 MySQL 的服務(wù)窒所。
  MYSQL_ROOT_PASSWORD=123456:設(shè)置 MySQL 服務(wù) root 用戶的密碼。

3 配置mysql 使用者(user)

??3.1 進(jìn)入容器

  docker exec -it mysql-test bash

??3.2 登錄mysql并修改root密碼

  mysql -u root -p
  ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

??3.3 添加遠(yuǎn)程登錄用戶 --> '用戶名'@'主機(jī)',%表任意都行

  CREATE USER '<username>'@'%' IDENTIFIED WITH mysql_native_password BY '<password>';
  GRANT ALL PRIVILEGES ON *.* TO '<username>'@'%';

三帆锋、 備份docker中mysql的數(shù)據(jù)

??使用docker安裝mysql可能遇到一個(gè)問題,就是如果不做其他處理,docker容器損壞,那么里面的數(shù)據(jù)就可能丟了再也找不回吵取,所以應(yīng)當(dāng)養(yǎng)成定時(shí)備份的好習(xí)慣。
  使用以下指令锯厢,將docker容器中的mysql數(shù)據(jù)備份到宿主主機(jī)指定位置:

docker exec [CONTAINER] //usr/bin/mysqldump -u [USER] --password=[PASSWORD] --routines --triggers test_db > /home/user/test_db_backup.sql

說明:
  test_db是docker中mysql的數(shù)據(jù)庫名
  /home/user/test_db_backup.sql 備份到宿主主機(jī)的地址和文件名

??將上面指令寫入宿主主機(jī)的cron定時(shí)任務(wù)中就可定時(shí)將docker中mysql數(shù)據(jù)備份到本機(jī)皮官,避免docker損壞數(shù)據(jù)就丟失了。

??以上指令全部親測無誤实辑,有問題可告知捺氢,謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末徙菠,一起剝皮案震驚了整個(gè)濱河市讯沈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌婿奔,老刑警劉巖缺狠,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異萍摊,居然都是意外死亡挤茄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門冰木,熙熙樓的掌柜王于貴愁眉苦臉地迎上來穷劈,“玉大人,你說我怎么就攤上這事踊沸⌒眨” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵逼龟,是天一觀的道長评凝。 經(jīng)常有香客問我,道長腺律,這世上最難降的妖魔是什么奕短? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任宜肉,我火速辦了婚禮,結(jié)果婚禮上翎碑,老公的妹妹穿的比我還像新娘谬返。我一直安慰自己,他們只是感情好日杈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布遣铝。 她就那樣靜靜地躺著,像睡著了一般莉擒。 火紅的嫁衣襯著肌膚如雪翰蠢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天啰劲,我揣著相機(jī)與錄音梁沧,去河邊找鬼。 笑死蝇裤,一個(gè)胖子當(dāng)著我的面吹牛廷支,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播栓辜,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼恋拍,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了藕甩?” 一聲冷哼從身側(cè)響起施敢,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎狭莱,沒想到半個(gè)月后僵娃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腋妙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年默怨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骤素。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡匙睹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出济竹,到底是詐尸還是另有隱情痕檬,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布送浊,位于F島的核電站梦谜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜改淑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浴讯。 院中可真熱鬧朵夏,春花似錦、人聲如沸榆纽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奈籽。三九已至饥侵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衣屏,已是汗流浹背躏升。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留狼忱,地道東北人膨疏。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像钻弄,于是被迫代替她去往敵國和親佃却。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Docker是一種容器技術(shù)窘俺,它的存在就是為了解決容器技術(shù)本身的復(fù)雜性饲帅。Docker容器擁有很高的性能,同時(shí)同一臺(tái)宿...
    四條眉毛陸小雞閱讀 577評(píng)論 0 0
  • Docker 簡介 背景 開發(fā)和運(yùn)維之間因?yàn)榄h(huán)境不同而導(dǎo)致的矛盾 集群環(huán)境下每臺(tái)機(jī)器部署相同的應(yīng)用 DevOps(...
    段永平閱讀 613評(píng)論 0 0
  • 1.Docker簡介 1.1 什么是虛擬化 在計(jì)算機(jī)中瘤泪,虛擬化(英語:Virtualization)是一種資源管理...
    EdwinGates閱讀 1,763評(píng)論 0 0
  • Docker 學(xué)習(xí)目標(biāo): 掌握Docker基礎(chǔ)知識(shí)灶泵,能夠理解Docker鏡像與容器的概念 完成Docker安裝與啟...
    執(zhí)筆夢一場閱讀 3,229評(píng)論 2 10
  • 0x01 核心概念 Docker鏡像類似于虛擬機(jī)鏡像,可以理解為一個(gè)面向Docker引擎的只讀模板对途,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,719評(píng)論 0 9