Docker的簡單使用

2021-09-14 06:21:14 字數 3484 閱讀 4126

二、例項安裝

​ docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的linux機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何介面,更重要的是容器效能開銷極低。

乙個完整的docker有以下幾個部分組成:

docker 使用客戶端-伺服器 (c/s) 架構模式,使用遠端api來管理和建立docker容器。

docker與虛擬機器

首先,需要明白一點,docker不是不是虛擬機器,docker與虛擬機器有著不同的應用場景,docker常常用於隔離不同應用,提供不同應用執行環境。虛擬機器更擅長於徹底隔離整個執行環境。例如,雲服務提供商通常採用虛擬機器技術隔離不同的使用者。

安裝​ 這裡只簡單的介紹在ubuntu下的安裝,docker要求ubuntu系統的核心版本高於3.10,使用uname -r 可以檢視當前核心版本。

​ 現在的apt,apt-get已經比較強大了,使用apt-get install docker.io即可安裝。

常用命令

docker -v   #檢視版本資訊

docker #檢視所有命令選項

docker 命令 --help #檢視命令的詳細資訊

hello world

docker run ubuntu:15.10 /bin/echo "hello world"		

#/bin/echo "hello world":shell語句

​ 映象類似於物件導向程式設計中的類,也和作業系統的映象檔案類似,是用來建立容器的模板。

映象的使用

​ 我的理解是乙個執行中的映象即為乙個容器,乙個映象可以執行不同的應用,從而構成不同容器,容器不用像作業系統一樣需要安裝。

啟動乙個容器

docker run [options] image [command] [arg...]

[options]:引數可選,可以指定後台執行,預設是不指定後台執行

image:指定執行容器的映象檔案

[command]:需要執行的任務

eg:#1. 直接執行不指定引數,結果會直接輸出

docker run ubuntu:15.10 /bin/echo "hello world"

#2. 後台執行,-d:指定後台執行

docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

#3.啟動互動式容器,與遠端登入了一台作業系統類似

docker run -i -t ubuntu:15.10 /bin/bash

一般採用埠對映,在建立時指定

docker run -d -p 5000:5000	...

#說明:

-p:指定對映關係,如果不指定一般會隨機對映,使用docker ps可以檢視

例:0.0.0.0:32768->5000/tcp 將本機的容器的5000埠對映為主機的0.0.0.0:32768埠

完整格式為:

-p [ip:]port:port[/tcp/udp]

埠對映並不是唯一把 docker 連線到另乙個容器的方法,docker 有乙個連線系統允許將多個容器連線在一起,共享連線資訊。docker 連線會建立乙個父子關係,其中父容器可以看到子容器的資訊。這裡不再做介紹。

顯像管理

docker images	#檢視本地所有映象

docker rmi [options] image [image...] #刪除乙個或多個映象

-f :強制刪除;

--no-prune :不移除該映象的過程映象,預設移除;

docker build [options] path | url | - #用於使用 dockerfile 建立映象。

-t:建立的映象名字及標籤

-f:dockerfile檔案路徑預設為當前路徑

. :不明所以,必須有,

docker pull [options] name[:tag|@digest] #獲取映象

docker login -u ... -p ... #登入

docker push [options] name[:tag] #上傳到映象倉庫,需要先登入

docker logout #退出登入

docker search [options] term #查詢

容器相關

docker run [options] image [command] [arg...]		#建立乙個容器

-v $pwd/logs:/wwwlogs:檔案對映,將主機中當前目錄下的logs掛載到容器的/wwwlogs

docker ps : 列出容器

docker start :啟動乙個或多個已經被停止的容器

docker stop :停止乙個執行中的容器

docker restart :重啟容器

docker kill [options] container [container...] #殺死乙個執行中的容器

docker logs [options] container

例項安裝一遍即映象的獲取,可以使用pull獲取也可以自定義建立,自定義建立這裡不做介紹。

獲取

docker pull nginx		#獲取

docker images nginx #檢視

使用

docker run -p 80:80 --name mynginx -v $pwd/www:/www -v $pwd/conf/nginx.conf:/etc/nginx/nginx.conf -v $pwd/logs:/wwwlogs  -d nginx

說明:-p 80:80:將容器的80埠對映到主機的80埠

--name mynginx:將容器命名為mynginx

-v $pwd/www:/www:將主機中當前目錄下的www掛載到容器的/www

-v $pwd/conf/nginx.conf:/etc/nginx/nginx.conf:將主機中當前目錄下的nginx.conf掛載到容器的/etc/nginx/nginx.conf

-v $pwd/logs:/wwwlogs:將主機中當前目錄下的logs掛載到容器的/wwwlogs

docker pull php #安裝php

docker pull mysql #安裝mysql

docker pull tomcat

docker pull python:3.5

...

使用總結:

–name:重新命名

-p:埠對映

-v:檔案對映

Docker 的簡單使用

例如,我們需要拉取乙個 docker 映象,我們可以用如下命令 docker pull image name 接著我們如果想檢視主機下存在多少映象,我們可以用如下命令 docker images 我們要想知道當前有哪些容器在執行,我們可以用如下命令 docker ps a a 是檢視當前所有的容器,...

簡單的使用docker

啟動容器 service docker start顯示容器內容 docker ps a root localhost docker ps a container id image command created status ports names 119c5b3d479c centos usr s...

Docker的簡單使用

第一步 安裝所需的包 下面命令直接整段複製 sudo yum install y yum utils lvm2 第二步 設定穩定的repo 下面命令直接整段複製 sudo yum config manager add repo 第三步 安裝最新版本的docker ce ce是社群免費版 sudo y...