docker簡介與搭建

1 . 對docker的理解:

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。

一個完整的Docker有以下幾個部分組成:

  • DockerClient客戶端
  • DockerClient客戶端
  • Docker Image鏡像
  • DockerContainer容器

Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。Docker 容器通過 Docker 鏡像來創建。容器與鏡像的關系類似于面向對象編程中的對象與類。

Docker面向對象
容器對象
鏡像

Docker采用 C/S架構 Docker daemon 作為服務端接受來自客戶的請求,并處理這些請求(創建、運行、分發容器)。 客戶端和服務端既可以運行在一個機器上,也可通過 socket 或者RESTful API 來進行通信。

在這里插入圖片描述
docker的優點:

  • 輕量級:所有容器在一臺機器上共享同一個操作系統內核,這樣他們立即開始,并更有效地利用內存。Image 是從分層文件系統的構建,這樣他們能夠共享公共文件,使得磁盤使用率和 Image 的下載更加高效。
  • 開放:Docker 容器是基于開發的標準,允許容器運行在主流的 Linux 發布版和 Microsoft 操作系統作為所有的基礎設施。
  • 安全:容器使得應用程序彼此隔離,而基礎架構同時為應用程序提供了額外的保護層。

Docker 與 虛擬機的區別

  • 每個虛擬機都包括應用程序、必要的二進制文件和庫以及一個完整的客戶操作系統(Guest OS),盡管它們被分離,它們共享并利用主機的硬件資源,將近需要十幾個 GB 的大小。
  • 容器包括應用程序及其所有的依賴,但與其他容器共享內核。它們以獨立的用戶空間進程形式運行在主機操作系統上。他們也不依賴于任何特定的基礎設施,Docker 容器可以運行在任何計算機上,任何基礎設施和任何云上。

2 . docker部署

1 . 安裝docker和相關依賴性

在官網進行下載:https://docs.docker.com/

安裝docker,同時還會自動安裝其他依賴軟件,需要提前設置好系統yum源,可以使用7.3或者7.5的鏡像源

yum install docker-ce.x86_64 docker-ce-cli.x86_64 containerd.io.x86_64 container-selinux.noarch -y

2.打開docker服務

systemctl start docker

3 . 安裝bash等相關安裝包,當使用docker的時候,發現可以成功補齊。

yum install -y bash-*

在這里插入圖片描述

4 . 安裝成功之后查看docker信息

系認會自動產生一個docker網絡接口

在這里插入圖片描述

3 . docker簡單的用法

1 . docker的一些常用命令:(以ubuntu鏡像為模板)

docker load -i ubuntu.tar導入鏡像
docker run -it --name vm1 ubuntu創建容器
docker ps查看容器狀態
docker ps -a查看容器狀態(包括不活躍的容器)
docker images查看已導入的所有鏡像
docker attach vm1連接容器
docker top vm1查看容器進程
docker logs vm1查看容器指令輸出 -f 參數可以實時查看
docker inspect vm1查看容器詳情
docker stats vm1查看容器資源使用率
docker diff vm1查看容器修改
docker start/stop vm1開啟/停止 容器
docker kill vm1強制關閉容器
docker restart vm1重啟容器
docker pause/unpause vm1暫停/恢復容器
docker rm vm1刪除容器
docker rmi ubuntu刪除鏡像
docker version查看docker安裝版本信息
docker info顯示 Docker 系統信息,包括鏡像和容器數

2 . docker 對鏡像的所有操作命令

[root@docker ~]# docker image 
build    import   load     prune    push     save     
history  inspect  ls       pull     rm       tag      

3 . docker 對容器的所有操作命令

[root@docker ~]# docker container 
attach   diff     kill     port     rm       stop     wait
commit   exec     logs     prune    run      top      
cp       export   ls       rename   start    unpause  
create   inspect  pause    restart  stats    update   

4 . 運行一個簡單的容器

docker load -i game2048.tar      # 導入鏡像
docker run -d --name vm1 -p 80:80   game2048     # 運行容器   -d 是打入后臺
--name 是給容器的命名 -p作端口預設    物理機端口:docker 端口
docker ps       # 查看運行的容器

在這里插入圖片描述
瀏覽器訪問查看運行結果:

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/542006.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542006.shtml
英文地址,請注明出處:http://en.pswp.cn/news/542006.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java BigInteger類| toByteArray()方法與示例

BigInteger類testBit()方法 (BigInteger Class testBit() method) testBit() method is available in java.math package. testBit()方法在java.math包中可用。 testBit() method is used to convert this BigInteger to a byte [] that holds 2s complement denotation of thi…

007_Web to lead

轉載于:https://www.cnblogs.com/bandariFang/p/6229491.html

設置header_Nginx的這些安全設置,你都知道嗎?

Nginx 是最流行的 Web 服務器,可以只占用 2.5 MB 的內存,卻可以輕松處理 1w 的 http 請求。做為網站的入口,Nginx 的安全設置重要性不言而喻。下面帶你一起去認識一下這些安全配置吧!nginx.conf是 Nginx 最主要的配置文件&#xf…

動態路由協議_動態路由協議的類別

動態路由協議Dynamic routing protocols have been divided into 2 categories i.e Distance vector protocols and Link state protocols. Both of these protocols are being explained in detail in this tutorial. 動態路由協議分為距離矢量協議和鏈路狀態協議兩大類 。 本…

docker鏡像創建與優化

1 . 創建鏡像 有兩種方法構建鏡像: docker commit :將運行的容器保存成鏡像Dockerfile:自動構建 使用docker commit 創建鏡像分為三步: 運行容器修改容器將容器保存為鏡像 舉例: [rootdocker ~]# docker load -i…

ISP運營商實驗室測試機架拓撲搭建經驗分享

大家好,有些日子沒更新干貨了,近期難得有假期進行修整,思前顧后還是坐下來聊聊自己長期負責維護和搭建的實驗室環境。廢話不多說,直接上圖。因為圖較大,分上下部分進行上傳。網絡主框架(上)服務…

關于二手交易用戶指南怎么寫_讓用戶拍案叫絕文案怎么寫?試試這3個方法

“共鳴”到底是什么? 為什么有些文章會引起共鳴,而有些則沒有。現在假設為產品家用手持式美容儀寫一份副本。 由于主要重點是“家庭使用”,因此您立即想到了“家庭美容”的口號。 盡管這句話很簡單易懂,但談論起來總是很簡單……似…

結構化程序goto語句_C ++ goto語句| 查找輸出程序| 套裝1

結構化程序goto語句Program 1: 程序1&#xff1a; #include <iostream>#include <math.h>using namespace std;int main(){int num1 1;int num2 0;MY_LABEL:num2 num1 * num1;cout << num2 << " ";num1 num1 pow(2, 0);if (num1 < …

docker倉庫搭建、加密、用戶認證

1 . 含義及理解&#xff1a; 倉庫分為公開倉庫&#xff08;Public&#xff09;和私有倉庫&#xff08;Private&#xff09;兩種形式。最大的公開倉庫是 Docker Hub&#xff0c;存放了數量龐大的鏡像供用戶下載。 國內的公開倉庫包括 Docker Pool等&#xff0c;可以提供大陸用戶…

Centos7+Nginx+Keepalived實現Apache服務的高可用負載均衡

Centos7NginxKeepalived實現Apache服務的高可用&負載均衡今天是2017年的第一天&#xff0c;昨天也就是2016年的最后一天&#xff0c;我嘗試部署了Centos7NginxKeepalived實現WEB服務的高可用負載均衡服務&#xff0c;終于在2017年的第一天前完成了&#xff0c;所以在此分享…

客戶端通過網口啟動可過去的ip_西安交通大學16年3月課程考試《網絡組網技術綜合訓練》作業考核試題...

西安交通大學16年3月課程考試《網絡組網技術綜合訓練》作業考核試題一、單選題(共 20 道試題&#xff0c;共 40 分。)V 1. 下列不屬于服務器內部結構的是()A. CPUB. 電源C. 5類雙絞線D. 北橋芯片滿分&#xff1a;2 分2. 網絡中使用光纜的優點是()A. 便宜B. 容易安裝C. 是一個工…

mcq 隊列_MCQ | 軟件工程基礎知識/簡介(1)

mcq 隊列Q1. Which of the following is a part of the software? Q1。 以下哪個是軟件的一部分&#xff1f; Programs 程式 Documentation 文獻資料 Operating Procedures 運營流程 All of the above 上述所有的 Answer: d. All of the above 答案&#xff1a; d。 上述所有…

docker設置鏡像加速器

設置鏡像加速器 一般情況下&#xff0c;直接從官方倉庫中直接拉取鏡像會比較慢&#xff0c;可以設置鏡像加速器&#xff0c;相當于一個反向代理。以阿里云為例 1 . 首先獲取自己的加速器地址 www.aliyun.com 登陸自己的賬號&#xff08;可以是支付寶賬號&#xff09; 首頁點…

keytool條目_java keytool 常用命令

最近在做ssl連接active directory&#xff0c; 遇到了不少的ssl的問題。連接ssl時會需要用將證書保存到keystore&#xff0c; 而這個步驟剛好就用到了keytool命令。直接敲keytool會有提示如何用這個命令&#xff0c; 但對于完全不懂的我&#xff0c;還是找了下基本命令&#xf…

用JavaScript中的示例進行fill()函數

fill() is a predefined function in JavaScript, which is used to fill all elements of an array with a static value. fill()是JavaScript中的預定義函數&#xff0c;用于用靜態值填充數組的所有元素。 Example: 例&#xff1a; <html><head><title>J…

談談重載(overload)覆蓋(override)與隱藏

這三個概念都是與OO中的多態有關系的。如果單是區別重載與覆蓋這兩個概念是比較容易的&#xff0c;但是隱藏這一概念卻使問題變得有點復雜了&#xff0c;下面說說它們的區別吧。重載是指不同的函數使用相同的函數名&#xff0c;但是函數的參數個數或類型不同。調用的時候根據函…

搭建Harbor私有倉庫

1 首先裝好docker&#xff1a; 由于之前已安裝過&#xff0c;所以直接開起就行 2 . 安裝python2.7以上版本 之前編譯安裝過7.3的&#xff0c;直接用吧 3 . 安裝docker-compose docker容器管理工具&#xff0c;是habor的依賴之一。 curl -L "https://github.com/docker…

mysql日志查詢指令_MySQL查詢日志總結

MySQL查詢日志介紹MySQL的查詢日志記錄了所有MySQL數據庫請求的信息。無論這些請求是否得到了正確的執行。默認文件名為hostname.log。默認情況下MySQL查詢日志是關閉的。生產環境&#xff0c;如果開啟MySQL查詢日志&#xff0c;對性能還是有蠻大的影響的。另外很多時候&#x…

thinkphp5.0助手函數占用服務器資源

db(user) 默認情況下&#xff0c;每次請求都會重新連接數據庫&#xff0c;這樣會占用服務器資源 方法1.如果不想每次都重連可以這樣 db("List",[],false) 方法2.還可以直接改function&#xff0c;及則需要把 function db($name , $config [], $force true){retu…

python 無符號整數_Python中的有符號和無符號整數數組

python 無符號整數An array can be declared by using "array" module in Python. 可以通過在Python中使用“數組”模塊來聲明數組 。 Syntax to import "array" module: 導入“數組”模塊的語法&#xff1a; import array as array_alias_nameHere, imp…