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

Docker的理解和基本命令詳解

 更新時(shí)間:2017年05月13日 15:28:19   投稿:mrr  
這篇文章主要介紹了Docker的理解和基本命令詳解,需要的朋友可以參考下

如何通俗解釋D ocker是什么?

Docker思想來自于集裝箱,集裝箱解決了什么問題呢?比如,在一艘大船上,要把各種各樣的貨物要整理起來,集裝箱(Docker)就可以做到,并且相互間不會(huì)影響。就不需要指定運(yùn)輸?shù)拇耍ㄟ@個(gè)船運(yùn)吃的那個(gè)船運(yùn)穿的)。只要把貨物裝在集裝箱里封裝好,就可以用一艘大船把他們都運(yùn)走。

1.Docker就是類似的理念。云計(jì)算是運(yùn)輸船,Docker就是集裝箱。

1.不同的應(yīng)用程序可能會(huì)有不同的應(yīng)用環(huán)境,比如.net開發(fā)的網(wǎng)站和php開發(fā)的網(wǎng)站依賴的軟件就不一樣,如果把他們依賴的軟件都安裝在一個(gè)服務(wù)器上就要調(diào)試很久,而且很麻煩,還會(huì)造成一些沖突。比如IIS和Apache訪問端口沖突。這個(gè)時(shí)候你就要隔離.net開發(fā)的網(wǎng)站和php開發(fā)的網(wǎng)站。常規(guī)來講,我們可以在服務(wù)器上創(chuàng)建不同的虛擬機(jī)在不同的虛擬機(jī)上放置不同的應(yīng)用,但是虛擬機(jī)開銷比較高。docker可以實(shí)現(xiàn)虛擬機(jī)隔離應(yīng)用環(huán)境的功能,并且開銷比虛擬機(jī)小,小就意味著省錢了。

2.你開發(fā)軟件的時(shí)候用的是Ubuntu,但是運(yùn)維管理的都是centos,運(yùn)維在把你的軟件從開發(fā)環(huán)境轉(zhuǎn)移到生產(chǎn)環(huán)境的時(shí)候就會(huì)遇到一些Ubuntu轉(zhuǎn)centos的問題,比如:有個(gè)特殊版本的數(shù)據(jù)庫,只有Ubuntu支持,centos不支持,在轉(zhuǎn)移的過程當(dāng)中運(yùn)維就得想辦法解決這樣的問題。這時(shí)候要是有docker你就可以把開發(fā)環(huán)境直接封裝轉(zhuǎn)移給運(yùn)維,運(yùn)維直接部署你給他的docker就可以了。而且部署速度快。

3.在服務(wù)器負(fù)載方面,如果你單獨(dú)開一個(gè)虛擬機(jī),那么虛擬機(jī)會(huì)占用空閑內(nèi)存的,docker部署的話,這些內(nèi)存就會(huì)利用起來。
總之docker就是集裝箱原理。

4.docker就是用來存放應(yīng)用的一個(gè)容器

容器管理

# docker run -it –name vm1 ubuntu bash //創(chuàng)建容器 
# docker ps -a //查看容器狀態(tài) 
# docker attach vm1 //鏈接容器 
# docker top vm1 //查看容器進(jìn)程
[root@foundation22 ~]# docker run -it –name vm1 ubuntu 
root@b6e503aec1e3:/# [root@foundation17 ~]# 
//////用ubuntu這個(gè)鏡像生成一個(gè)名為vm1的容器///
[root@foundation22 ~]# docker run -it ubuntu //未制定容器名稱 
[root@foundation22 ~]# docker ps -a 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
c2c94bd4ef22 ubuntu “/bin/bash” 2 minutes ago Up 2 minutes silly_curie 
a2798a01f075 ubuntu “/bin/bash” 4 minutes ago Up 8 seconds vm1 
[root@foundation22 ~]# docker stop c2c94bd4ef22 //結(jié)束一個(gè)容器(用進(jìn)程id結(jié)束) 
c2c94bd4ef22 
[root@foundation22 ~]# docker rm c2c94bd4ef22 //刪除容器(用進(jìn)程id刪除) 
c2c94bd4ef22 
[root@foundation22 ~]# docker ps -a 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
a2798a01f075 ubuntu “/bin/bash” 5 minutes ago Up About a minute vm1 
root@bd4961841626:/# [root@foundation17 ~]# docker attach vm1
root@bd4961841626:/# ls 
bin dev home lib64 mnt proc run srv tmp var 
boot etc lib media opt root sbin sys usr 
root@bd4961841626:/# touch file{1..5} 
root@bd4961841626:/# ls 
bin dev file1 file3 file5 lib media opt root sbin sys usr 
boot etc file2 file4 home lib64 mnt proc run srv tmp var
[root@foundation22 ~]# docker pause vm1 //暫停容器 
vm1 
[root@foundation22 ~]# docker ps -a 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
bd4961841626 ubuntu “/bin/bash” 2 minutes ago Up 41 seconds (Paused) vm1 
[root@foundation22 ~]# docker unpause vm1 //啟動(dòng)容器 
vm1 
[root@foundation22 ~]# docker ps -a 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
bd4961841626 ubuntu “/bin/bash” 3 minutes ago Up About a minute vm1
[root@foundation22 ~]# docker run -it –name vm2 ubuntu 
root@aac0080d0606:/# [root@foundation17 ~]# docker run -it –name vm3 ubuntu 
root@13e9f0e36ea0:/# [root@foundation17 ~]# docker run -it –name vm4 ubuntu 
root@2e4adfc6ea87:/# [root@foundation17 ~]# docker run -it –name vm5 ubuntu 
root@cf98619960fc:/# [root@foundation17 ~]# 
[root@foundation22 ~]# docker ps -aq 
cf98619960fc 
2e4adfc6ea87 
13e9f0e36ea0 
aac0080d0606 
bd4961841626 
[root@foundation22 ~]# docker stop docker ps -aq 
cf98619960fc 
2e4adfc6ea87 
13e9f0e36ea0 
aac0080d0606 
bd4961841626 

容器內(nèi)的數(shù)據(jù)提交:(docker commit vm3 ubuntu//提交vm3容器里面的數(shù)據(jù)到ubuntu鏡像放到倉庫)

[root@foundation22 ~]# docker commit vm3 ubuntu 
sha256:ca9b1aa4a9aee738f632999bfad3baf5bda20b5a8b51de82b8f288a922cb4a66 
[root@foundation22~]# docker stop vm3 
vm3 
[root@foundation22 ~]# docker rm vm3 
vm3 
[root@foundation22 ~]# docker run -it –name vm4 ubuntu 
root@6cb52f07dcde:/# ls 
bin dev file1 file3 file5 lib media opt root sbin sys usr 
boot etc file2 file4 home lib64 mnt proc run srv tmp var

提交的內(nèi)容是在鏡像里面的內(nèi)容上加一層(只讀):

[root@foundation22 ~]# docker run -it –name vm1 ubuntu 
root@59026e7f5104:/# ls 
bin dev file1 file3 file5 lib media opt root sbin sys usr 
boot etc file2 file4 home lib64 mnt proc run srv tmp var 
root@59026e7f5104:/# rm -fr file* 
root@59026e7f5104:/# ls 
bin dev home lib64 mnt proc run srv tmp var 
boot etc lib media opt root sbin sys usr 
root@59026e7f5104:/# exit 
exit 
[root@foundation22 ~]# docker commit vm1 ubuntu 
sha256:734d5eba88071735584a1c22519d9000d133b531df3dd7b56e6bbd0dca2abdd3
[root@foundation22 ~]# docker run -it –name vm8 ubuntu 
root@e05171f7c0c7:/# ls 
bin dev home lib64 mnt proc run srv tmp var 
boot etc lib media opt root sbin sys usr
[root@foundation22 ~]# docker history ubuntu //查看鏡像的層(最多不能超過127層) 
IMAGE CREATED CREATED BY SIZE COMMENT 
734d5eba8807 29 minutes ago /bin/bash 52 B 
ca9b1aa4a9ae 51 minutes ago /bin/bash 28 B 
07c86167cdc4 14 months ago /bin/sh -c #(nop) CMD [“/bin/bash”] 0 B 
220d2912ab1d 14 months ago /bin/sh -c sed -i ‘s/^#\s*(deb.*universe)$/ 1.895 kB 
cc77a2e3d72c 14 months ago /bin/sh -c echo ‘#!/bin/sh' > /usr/sbin/polic 194.5 kB 
c8fa7cdceff3 14 months ago /bin/sh -c #(nop) ADD file:b9504126dc55908988 187.7 MB 

////vm1里面新建文件后,提交,vm1里面的文件提交到ubuntu之后,ubuntu里面就有記錄,再用鏡像ubuntu建立容器,容器內(nèi)部包含有vm1里面的文件。如果刪除vm1里面新建的文件,再次提交,ubuntu里面的內(nèi)容就會(huì)被覆蓋掉。再次用ubuntu建立容器,新建立的容器不就沒有最早vm1里面建立的文件。

復(fù)制文件到容器里面需要制定路徑(即容器源)

[root@foundation22~]# docker cp /etc/passwd vm1 
must specify at least one container source 
[root@foundation22 ~]# docker cp /etc/passwd vm1:/
[root@foundation22 ~]# docker export -o vm2.tar vm1 //導(dǎo)出到當(dāng)前目錄,并命名為vm2.tar
[root@foundation22 ~]# docker save -o ubuntu.tar ubuntu:v1 // 將ubuntu:v1鏡像制成 ubuntu:v1文件
[root@foundation22 ~]# docker run -d –name web -p 8000:80 nginx 
3cca467e17717b7dd09dd997d7df4e2239e8505be8f0fc79ec11804c5365103d 
[root@foundation22 ~]# docker ps 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
3cca467e1771 nginx “nginx -g ‘daemon off” 15 seconds ago Up 11 seconds 443/tcp, 0.0.0.0:8000->80/tcp web 
[root@foundation22 ~]# netstat -antlp | grep :8000 
tcp6 0 0 :::8000 :::* LISTEN 16093/docker-proxy 
[root@foundation22 ~]# docker diff vm1 
C /root 
C /root/.bash_history 
A /passwd 
D /file2 
D /file5 
D /file1 
D /file3 
D /file4

D:表示刪除
A:表示增加add

以上所述是小編給大家介紹的Docker的理解和基本命令詳解,希望對大家有所幫助!

相關(guān)文章

  • pipework docker無法使用ip netns命令解決辦法

    pipework docker無法使用ip netns命令解決辦法

    這篇文章主要介紹了pipework docker無法使用ip netns命令解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • docker 命令報(bào)異常permission denied的解決方案

    docker 命令報(bào)異常permission denied的解決方案

    這篇文章主要介紹了docker 命令報(bào)異常permission denied的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 使用docker compose搭建一個(gè)elk系統(tǒng)的方法

    使用docker compose搭建一個(gè)elk系統(tǒng)的方法

    這篇文章主要介紹了使用docker-compose搭建一個(gè)elk系統(tǒng)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • docker compose部署cassandra集群的操作代碼

    docker compose部署cassandra集群的操作代碼

    這篇文章主要介紹了docker compose部署cassandra集群的操作代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-03-03
  • docker生命周期管理和鏡像管理命令詳解

    docker生命周期管理和鏡像管理命令詳解

    Docker通過容器技術(shù)提供了一種輕量級(jí)、快速部署和可移植的應(yīng)用程序運(yùn)行環(huán)境,極大地簡化了應(yīng)用程序的部署和管理過程,提高了開發(fā)和運(yùn)維的效率,這篇文章主要介紹了docker生命周期管理和鏡像管理命令,需要的朋友可以參考下
    2023-08-08
  • Docker快速入門以及環(huán)境配置詳解

    Docker快速入門以及環(huán)境配置詳解

    Docker應(yīng)該算是很熱門的技術(shù)了,之前一直沒怎么真正地去了解、接觸。通過翻譯這篇簡單的教程,我同時(shí)也對Dcoker有了入門的了解。Docker確實(shí)是跨平臺(tái)開發(fā)的利器。有需要的朋友們下面跟著小編一起來看看吧。
    2016-10-10
  • docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作

    docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作

    這篇文章主要介紹了docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Docker學(xué)習(xí)之常用的基礎(chǔ)命令總結(jié)

    Docker學(xué)習(xí)之常用的基礎(chǔ)命令總結(jié)

    這篇文章給大家整理了一些Docker常用的基礎(chǔ)命令,對大家日常使用Docker還是很有幫助,通過這些命令可以有效的提高大家的工作效率,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • Docker+nacos+seata1.3.0安裝與使用配置教程

    Docker+nacos+seata1.3.0安裝與使用配置教程

    這篇文章主要介紹了Docker+nacos+seata1.3.0安裝與使用配置教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • 使用docker?部署mysql突然連接不上的問題及解決方法

    使用docker?部署mysql突然連接不上的問題及解決方法

    這篇文章主要介紹了使用docker?部署mysql,突然連接不上,要解決這個(gè)問題需要找到根本原因,對癥治療就好,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06

最新評(píng)論

韶山市| 百色市| 曲松县| 正安县| 新营市| 黔西| 视频| 长顺县| 封丘县| 二连浩特市| 台北县| 乐业县| 靖边县| 东台市| 郴州市| 南郑县| 光泽县| 新源县| 垣曲县| 三明市| 贵德县| 图木舒克市| 星子县| 庆城县| 尼勒克县| 巴中市| 梁河县| 元谋县| 汝南县| 宁安市| 益阳市| 汤原县| 临江市| 云梦县| 乐业县| 伊金霍洛旗| 黄浦区| 沛县| 湛江市| 得荣县| 芜湖县|