37_docker

docker命令

https://www.cnblogs.com/DeepInThought/p/10896790.html


:安裝::

官方建議在Ubuntu中安裝 因?yàn)閐ocker是在ubuntu中發(fā)布的 我用的是centos 建議在centos 7.x版本以上

1:安裝的前提是先下載虛擬機(jī)VMware Workstation Pro?

2:下載好centos 7.x 點(diǎn)擊CentOS7.vmx 關(guān)聯(lián)到VMware Workstation Pro?

(因?yàn)槲易约号肅entOS7已經(jīng)包含下面這些了 所以一下步驟我沒弄)

===============以參考以下三個(gè)鏈接

https://www.cnblogs.com/cs294639693/p/10164258.html

https://blog.csdn.net/ZT0518/article/details/88050663

https://blog.csdn.net/hylaking/article/details/87978819

https://www.cnblogs.com/tylerzhou/p/10969072.html(我參考這個(gè)成功了)

https://www.runoob.com/docker/centos-docker-install.html(第二次安裝)


sudo yum install docker-ce-17.12.0.ce

==========================

1钾恢;yum update

2:卸載舊版本docker

yum -y remove docker docker-common docker-selinux docker-engine

3颊艳;設(shè)置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#阿里云yum源

4:查看所有倉庫中所有docker版本拍谐,并選擇特定版本安裝

yum install -y docker-ce #由于repo中默認(rèn)只開啟stable倉庫酵熙,故這里安裝的是最新穩(wěn)定版17.12.0yum install -y <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce

5:?jiǎn)?dòng)docker并加入開機(jī)自動(dòng)啟動(dòng)

systemctl start docker

systemctl enable docker

6:配置阿里云鏡像加速

mkdir -p /etc/docker

vi? /etc/docker/daemon.json

添加以下內(nèi)容

{"registry-mirrors":

["https://5f2jam6c.mirror.aliyuncs.com", "http://hub-mirror.c.163.com"]

}


7:重新加載配置文件

systemctl reload docker

8:重啟docker

systemctl restart docker

如果啟動(dòng)報(bào)錯(cuò)可以參考:http://www.pianshen.com/article/6992279516/

()

3設(shè)置ustc鏡像


4:Docker啟動(dòng)和停止

開啟:systemctl? start? docker

=========

啟動(dòng)docker容器時(shí)報(bào)錯(cuò):

iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destination 172.18.0.4:5000 ! -i br-ff45d935188b: iptables: No chain/target/match by that name. (exit status 1)

解決方案:重啟docker

systemctl restart docker

————————————————

版權(quán)聲明:本文為CSDN博主「冰山上的來客_胡楊」的原創(chuàng)文章讶隐,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議邪媳,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明刹枉。

原文鏈接:https://blog.csdn.net/weixin_42273374/article/details/82223640

=========

停止:systemctl? stop? docker

重啟::systemctl? restart docker

啟動(dòng)狀態(tài): systemctl? status??docker

開機(jī)自己?jiǎn)?dòng):??systemctl enalbe? docker

=====常用命令;

1鏡像相關(guān):

查看鏡像: ????


搜索鏡像


拉取鏡像聚霜; docker pull? 鏡像名稱? 例如:??docker pull? centos:7

刪除鏡像:docker rmi 鏡像id

刪除所有鏡像:docker rmi? `docker iamges -q`? ?這個(gè)2個(gè)引號(hào)是? Esc鍵 下面的引號(hào)

查看運(yùn)行容器:docker ps

看所有容器:??docker ps -a

查看最后一次 運(yùn)行的容器:???docker ps -l

========創(chuàng)建與啟動(dòng)容器:






=============應(yīng)用部署

docker search 鏡像名稱? eg:docker search mysql??

1:mysql部署

1.1拉取mysq鏡像

docker pull centos/mysql-57-centos7

1.2創(chuàng)建容器

docker run -di --name=tensquare_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7? ??

?docker run –name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.23

docker run -di --name=mysqltest -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql? ?

33306:是宿主機(jī)端口

:3306 容器端口

-p 代表端口映射

-e 代表 添加環(huán)境變量? ?MYSQL_ROOT_PASSWORD 是root用戶登錄密碼

1.2.1: 創(chuàng)建成功之后可以使用sqlyog測(cè)試一下


1.3:進(jìn)去mysql容器? (我運(yùn)行成功 所以我使用了遠(yuǎn)程連接? sqlyog)

如果 連接不上就關(guān)閉防火墻

docker exec -it?tensquare_mysql /bin/bash

1.4:登錄mysql

mysql -u root -p

============tomcat部署

1:l拉取鏡像

docker pull tomcat:7

2:創(chuàng)建容器

? -p :端口映射

-v? 目錄掛載

docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7

: 后面的路徑是容器內(nèi)的路徑

測(cè)試:??上傳一個(gè)war包(我使用的是FileZilla-3.7.3 這個(gè)工具上傳的)

1:先給webapps 目錄下上傳一個(gè)war包

2:在瀏覽器中輸入:http://192.168.206.131:9000/你war包的訪問路徑

==============nginx部署

1:拉取

docker pull? nginx

2:創(chuàng)建容器

docker run -di --name=mynginx -p 80:80 nginx

3:測(cè)試

瀏覽器 輸入http://192.168.206.131/ 可以看到nginx 歡迎頁面

查看nginx 默認(rèn)配置默認(rèn)的文件


1:進(jìn)入容器?? docker exec -it mynginx /bin/bash

2:將文件夾上傳到遠(yuǎn)程服務(wù)器 (就是你的虛擬機(jī)中) 我上傳到usr目錄下了

3: 將你上傳文件夾? 放入到 nginx的? /usr/share/nginx/

4;在瀏覽器中輸入 http://192.168.206.131/a.html

========redis部署

1拉取

docker pull? redis

2:創(chuàng)建容器

docker run -di? --name=myredis -p 6379:6379 redis

測(cè)試:通過redis 客戶端 連接? ??redis-cli -h? 遠(yuǎn)程地址? el:?redis-cli -h? 192.168.xxx.xxx

===========遷移與備份

1:將容器 保存為對(duì)象

docker? commit? mynginux??mynginux_1

查看 是否成功 docker images:

基于新創(chuàng)建的鏡像在創(chuàng)建一個(gè)容器

docker run -di --name=mynginx2? -p 81:80??mynginux_1

測(cè)試:? 瀏覽器輸入? http://192.168.206.131:81


2:鏡像備份

-o 后面是文件名稱? ?mynginux.tar??

docker save? -o mynginux.tar??mynginux_1

測(cè)試:輸入 dir? 可以 看到 當(dāng)前文件多了一個(gè)? ?mynginux.tar??

3:鏡像恢復(fù)與遷移

先刪除mynginux_1鏡像 然后執(zhí)行命令 進(jìn)項(xiàng)恢復(fù)? 如果mynginux_1的? 容器? mynginx2正在運(yùn)行 需要關(guān)閉

停止容器:? ?docker? stop? mynginx2

刪除容器 :??docker rm??mynginx2

刪除鏡像:??docker rmi??mynginux_1

看看是否刪除成功: docker images


鏡像恢復(fù)

i:輸入的文件

docker load? -i??mynginux.tar?

看看是否 成功:??docker images

===========DockerFile 常用命令

DockerFile 是由一系列命令和參數(shù)構(gòu)成的腳本 這些命令應(yīng)用于基礎(chǔ)鏡像并最終創(chuàng)建一個(gè)新的 鏡像

1:對(duì)于開發(fā)人員可以 提供一個(gè)完全一致的的開發(fā)環(huán)境

2:對(duì)于測(cè)試人員可以直接拿開發(fā)時(shí)所構(gòu)建的鏡像或者通過dockerfile文件構(gòu)建一個(gè)新的鏡像開始工作

3:對(duì)于運(yùn)維人員 部署時(shí)可以實(shí)現(xiàn)應(yīng)用的無縫移植

常用命令:


使用腳本創(chuàng)建鏡像

案例 構(gòu)件jdk8

步驟:

1:創(chuàng)建目錄

mkdir -p /usr/local/dockerjks8

2:上傳jkd? ?

可以使用我之前說的FileZilla-3.7.3 這個(gè)工具? ?也可以使用sftp命令? Alt+p

3:移動(dòng)到剛才創(chuàng)建 的目錄?

mv??jdk-8u171-linux-x64.tar.gz /usr/local/dockerjks8

4進(jìn)入該目錄 構(gòu)件DockerFile? ? 依次輸入命令

vi??Dockerfile


FROM centos:7

MAINTAINER:lww

WORKDIR /usr

RUN? ?mkdir??/usr.local/java

ADD??jdk-8u171-linux-x64.tar.gz /usr.local/java/

ENV??JAVA_HOME?/usr/java/jdk1.8.0_171-amd64

ENV?JRE_HOME?usr/java/jdk1.8.0_171-amd64/jre

ENV??CLASSPATH??$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH

ENV??PATH?$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin




xie寫完之后保存:? 先按Esc 然后輸入:wq

4:構(gòu)件??

-t:鏡像名稱

. 指定文件夾? 這里的. 代表當(dāng)前目錄

docker build -t='jdk1.8' .

查看是否構(gòu)件成功: docker images? 會(huì)發(fā)現(xiàn)多了一個(gè) jdk1.8的鏡像


===========私有倉庫搭建

企業(yè)內(nèi)部所使用的 倉庫??

?私有倉庫的創(chuàng)建與配置

1:拉取私有倉庫對(duì)象

docker pull registry

2:?jiǎn)?dòng)私有倉庫容器

docker? run? -di --name=myregistry -p 5000:5000 registry

測(cè)試? 瀏覽器輸入:??http://192.168.206.131:5000/v2/_catalog?

或者在命令行中:curl http://192.168.206.131:5000/v2/_catalog?

看到 {"repositories":[]} 表示私有倉庫創(chuàng)建成功 并且內(nèi)容為空

我的在瀏覽器沒出現(xiàn)?{"repositories":[]}? ?但是讓我下載daemon.json? ?下載完成 打開展示的也是{"repositories":[]}?

3: 修改deamon.josn

vi /etc/docker/daemon.json

添加以下內(nèi)容

{“insecure-registries”:["192.168.206.131:5000"]}


{

? ? "graph": "/mnt/docker-data",

? ? "storage-driver": "overlay",

? ? “insecure-registries”:"192.168.227.128:5000"

}

此操作用于讓docker信任私有倉庫地址

為了讓配置生效 重啟docker

=====私有倉庫上傳鏡像

:1:打標(biāo)簽? 比如給jdk1.8 打標(biāo)簽? ? ?192.168.206.131:5000 私服地址

docker? tag jdk1.8 192.168.206.131:5000/jdk1.8

查看 docker images? 會(huì)發(fā)現(xiàn)多了一個(gè)??192.168.206.131:5000/jdk1.8

2:上傳

docker push??192.168.206.131:5000/jdk1.8

============錯(cuò)誤

[root@mastersysconfig]# docker push 192.168.1.100:5000/registry:2.4.1Thepush refers to a repository [192.168.1.100:5000/registry]Gethttps://192.168.1.100:5000/v1/_ping:https:server gaveHTTPresponse toHTTPSclient

解決:

在”/etc/docker/“目錄下狡恬,創(chuàng)建”daemon.json“文件。在文件中寫入:

{ "insecure-registries":["你自己虛擬機(jī)的ip:5000"]}

重啟docker俯萎。 systemctl restart docker


==============

3傲宜;測(cè)試?

?http://192.168.206.131:5000/v2/_catalog?

會(huì)出現(xiàn)??{"repositories":["jdk1.8"]}

我們現(xiàn)在可以將本地的 jdk和打標(biāo)簽的jdk 刪除 然后從私有庫中下載

docker rmi? jdk1.8

docker rmi??192.168.227.128:5000/jdk1.8

查看是否刪除:docker images

docker pull 192.168.227.128/jdk1.8

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市夫啊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辆憔,老刑警劉巖撇眯,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異虱咧,居然都是意外死亡熊榛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門腕巡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來玄坦,“玉大人,你說我怎么就攤上這事绘沉〖彘梗” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵车伞,是天一觀的道長(zhǎng)择懂。 經(jīng)常有香客問我,道長(zhǎng)另玖,這世上最難降的妖魔是什么困曙? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮谦去,結(jié)果婚禮上慷丽,老公的妹妹穿的比我還像新娘。我一直安慰自己鳄哭,他們只是感情好要糊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著窃诉,像睡著了一般杨耙。 火紅的嫁衣襯著肌膚如雪赤套。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天珊膜,我揣著相機(jī)與錄音容握,去河邊找鬼。 笑死车柠,一個(gè)胖子當(dāng)著我的面吹牛剔氏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播竹祷,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼谈跛,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了塑陵?” 一聲冷哼從身側(cè)響起感憾,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎令花,沒想到半個(gè)月后阻桅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兼都,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年嫂沉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扮碧。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡趟章,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出慎王,到底是詐尸還是另有隱情蚓土,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布柬祠,位于F島的核電站北戏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏漫蛔。R本人自食惡果不足惜嗜愈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望莽龟。 院中可真熱鬧蠕嫁,春花似錦、人聲如沸毯盈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赘阀,卻和暖如春益缠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背基公。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國打工幅慌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人轰豆。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓胰伍,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親酸休。 傳聞我的和親對(duì)象是個(gè)殘疾皇子骂租,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349