主頁 >  其他 > docker 常用命令合集

docker 常用命令合集

2020-09-23 17:01:12 其他

docker 常用命令合集

文章目錄

  • docker 常用命令合集
  • 一、docker概論
  • 二、Docker的應用場景
    • 2.1 Docker 的優點
  • 三、 Docker 架構
  • 四、 docker安裝
    • 4.1安裝依賴包
    • 4.2 設定阿里云鏡像源
    • 4.3安裝docker-ce
    • 4.4 鏡像加速
    • 4.5 網路優化
  • 五、docker 鏡像使用
  • 六、docker容器的使用
  • 七、創建鏡像
  • 八、docker的資料管理
  • 九、本地私有倉庫建立
  • 十、容器互聯
  • 十一、總結

一、docker概論

  • Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從 Apache2.0 協議開源,
  • Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux
    機器上,也可以實作虛擬化,
  • 容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app),更重要的是容器性能開銷極低,
  • Docker 從 17.03 版本之后分為 CE(Community Edition: 社區版) 和 EE(Enterprise Edition: 企業版),我們用社區版就可以了

二、Docker的應用場景

Web 應用的自動化打包和發布,
自動化測驗和持續集成、發布,
在服務型環境中部署和調整資料庫或其他的后臺應用,
從頭編譯或者擴展現有的 OpenShift 或 Cloud Foundry 平臺來搭建自己的 PaaS 環境,

2.1 Docker 的優點

Docker 是一個用于開發,交付和運行應用程式的開放平臺,Docker 使您能夠將應用程式與基礎架構分開,從而可以快速交付軟體,借助 Docker,您可以與管理應用程式相同的方式來管理基礎架構,通過利用 Docker 的方法來快速交付,測驗和部署代碼,您可以大大減少撰寫代碼和在生產環境中運行代碼之間的延遲,
(1)、快速,一致地交付您的應用程式
Docker 允許開發人員使用您提供的應用程式或服務的本地容器在標準化環境中作業,從而簡化了開發的生命周期,
容器非常適合持續集成和持續交付(CI / CD)作業流程,請考慮以下示例方案:
您的開發人員在本地撰寫代碼,并使用 Docker 容器與同事共享他們的作業,
他們使用 Docker 將其應用程式推送到測驗環境中,并執行自動或手動測驗,
當開發人員發現錯誤時,他們可以在開發環境中對其進行修復,然后將其重新部署到測驗環境中,以進行測驗和驗證,
測驗完成后,將修補程式推送給生產環境,就像將更新的鏡像推送到生產環境一樣簡單,
(2)、回應式部署和擴展

Docker 是基于容器的平臺,允許高度可移植的作業負載,Docker 容器可以在開發人員的本機上,資料中心的物理或虛擬機上,云服務上或混合環境中運行,
Docker 的可移植性和輕量級的特性,還可以使您輕松地完成動態管理的作業負擔,并根據業務需求指示,實時擴展或拆除應用程式和服務,
(3)、在同一硬體上運行更多作業負載
Docker 輕巧快速,它為基于虛擬機管理程式的虛擬機提供了可行、經濟、高效的替代方案,因此您可以利用更多的計算能力來實作業務目標,Docker 非常適合于高密度環境以及中小型部署,而您可以用更少的資源做更多的事情,

三、 Docker 架構

  • Docker 包括三個基本概念:
    鏡像(Image):Docker 鏡像(Image),就相當于是一個 root 檔案系統,比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 檔案系統,
    容器(Container):鏡像(Image)和容器(Container)的關系,就像是面向物件程式設計中的類和實體一樣,鏡像是靜態的定義,容器是鏡像運行時的物體,容器可以被創建、啟動、停止、洗掉、暫停等,
    倉庫(Repository):倉庫可看成一個代碼控制中心,用來保存鏡像,
    Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器,
    Docker 容器通過 Docker 鏡像來創建,
    容器與鏡像的關系類似于面向物件編程中的物件與類,
  • Docker 面向物件
  • 容器 物件
  • 鏡像 類
    在這里插入圖片描述

四、 docker安裝

  • 部署19版docker

4.1安裝依賴包


yum -y install yum-utils device-mapper-persistent-data lvm2

//yum-utils 提供了yum-config-manager 

//device mapper 存盤驅動程式需要device-mapper-persistent-data和lvm2

//device mapper 是Linux2.6內核中支持邏輯卷管理的通用設備映射機制,

//它為實作用于存盤資源管理的塊設備驅動提供了一個而高度模塊化的內核架構

4.2 設定阿里云鏡像源


yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.3安裝docker-ce


yum -y install docker-ce

systemctl start docker.service

systemctl enable docker.service 

setenforce 0

vim /etc/selinux/config
SELINUX=disabled

4.4 鏡像加速

進入阿里云官網》》搜索鏡像加速》》選擇centos版的


sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://1i3tpy0i.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

4.5 網路優化


vim /etc/sysctl.conf
net.ipv4.ip_forward=1

sysctl -p

service network restart
systemctl restart docker

五、docker 鏡像使用

  • 查看docker版本
docker version
  • 搜索Nginx鏡像(公有倉庫)
docker  search nginx
  • 下載Nginx鏡像
docker pull  nginx
  • 下載Redis官方最新鏡像,相當于:docker pull redis:latest

docker pull redis

  • 下載倉庫所有Redis鏡像

docker pull -a redis

  • 下載私人倉庫鏡像
    后面會詳細介紹私有庫的建立
docker pull bitnami/redis
  • AUFS (聯合檔案系統) 若干層下載
  • 下載后存放在 /var/lib/docker
  • /var/lib/docker/image/overlay/repositories/json //下載檔案資訊
  • 查看鏡像串列

docker images  //查看下載鏡像資訊
[root@localhost opt]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              7e4d58f0e5f3        8 days ago          133MB

    REPOSITORY:表示鏡像的倉庫源

    TAG:鏡像的標簽

    IMAGE ID:鏡像ID

    CREATED:鏡像創建時間

    SIZE:鏡像大小
//含中間映像層
docker images -a

//只顯示鏡像ID
docker images -q
//含中間映像層
docker images -qa 

//顯示鏡像摘要資訊(DIGEST列)
docker images --digests
//顯示鏡像完整資訊
docker images --no-trunc

  • 獲取鏡像資訊

docker inspect 7e4d58f0e5f3 

  • 添加新標簽

docker tag nginx:latest  nginx:web

[root@localhost opt]# docker tag nginx:latest  nginx:web
[root@localhost opt]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              7e4d58f0e5f3        8 days ago          133MB
nginx               web                 7e4d58f0e5f3        8 days ago          133MB

//查看鏡像Nginx資訊

[root@localhost opt]# docker images | grep nginx 
nginx               latest              7e4d58f0e5f3        8 days ago          133MB
nginx               web                 7e4d58f0e5f3        8 days ago          133MB

  • 洗掉鏡像
docker rmi  nginx:web   (如果只有一個別名,那么這個就是洗掉docker,如果是多個標簽,那么就是只是洗掉一個標簽)

  • 洗掉docker
docker rmi  docker——id  注:洗掉docker如果有其他別名需要洗掉只剩一個,才能洗掉docker
在洗掉容器之前需要先停止容器

  • 單個鏡像洗掉,相當于:docker rmi redis:latest
docker rmi redis
  • 強制洗掉(針對基于鏡像有運行的容器行程)
docker rmi -f redis
  • 多個鏡像洗掉,不同鏡像間以空格間隔
docker rmi -f redis tomcat nginx
  • 批量洗掉本地全部鏡像

docker rmi -f $(docker images -q)

  • 匯出Nginx鏡像命名為Nginx存放在目錄opt下

docker save -o 檔案名 鏡像id或者鏡像別名

[root@localhost ~] docker save -o /opt/nginx 7e4d58f0e5f3 
[root@localhost opt] docker save -o nginx1 nginx:latest 
[root@localhost ~]cd /opt
[root@localhost opt] ll
總用量 133636
drwx--x--x. 4 root root        28 9月  17 15:43 containerd
-rw-------. 1 root root 136841216 9月  19 19:04 nginx
drwxr-xr-x. 2 root root         6 10月 31 2018 rh

  • 匯入鏡像

docker load --input 匯出檔案名

docker load < 匯出檔案名


[root@localhost opt] docker load --input nginx 
Loaded image ID: sha256:7e4d58f0e5f3b60077e9a5d96b4be1b974b5a484f54f9393000a99f3b6816e3d

[root@localhost opt] docker load < nginx
Loaded image ID: sha256:7e4d58f0e5f3b60077e9a5d96b4be1b974b5a484f54f9393000a99f3b6816e3d
[root@localhost opt] docker load --input nginx1
Loaded image: nginx:latest

六、docker容器的使用

  • 容器創建

docker create -it nginx:latest /bin/bash

[root@localhost opt] docker create -it nginx:latest /bin/bash
59c4c2f2b6a00bceb196f1bbcfe02fc5a2e16edc66feb12310c9474bf939d833

  • -i: 互動式操作,
  • -t: 終端,
  • /bin/bash:放在鏡像名后的是命令,這里我們希望有個互動式 Shell,因此用的是 /bin/bash,
  • docker run :創建一個新的容器并運行一個命令
語法

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

OPTIONS說明:

    -a stdin: 指定標準輸入輸出內容型別,可選 STDIN/STDOUT/STDERR 三項;

    -d: 后臺運行容器,并回傳容器ID;

    -i: 以互動模式運行容器,通常與 -t 同時使用;

    -P: 隨機埠映射,容器內部埠隨機映射到主機的埠

    -p: 指定埠映射,格式為:主機(宿主)埠:容器埠

    -t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;

    --name="nginx-lb": 為容器指定一個名稱;

    --dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;

    --dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;

    -h "mars": 指定容器的hostname;

    -e username="ritchie": 設定環境變數;

    --env-file=[]: 從指定檔案讀入環境變數;

    --cpuset="0-2" or --cpuset="0,1,2": 系結容器到指定CPU運行;

    -m :設定容器使用記憶體最大值;

    --net="bridge": 指定容器的網路連接型別,支持 bridge/host/none/container: 四種型別;

    --link=[]: 添加鏈接到另一個容器;

    --expose=[]: 開放一個埠或一組埠;

    --volume , -v: 系結一個卷

實體

使用docker鏡像nginx:latest以后臺模式啟動一個容器,并將容器命名為mynginx,

docker run --name mynginx -d nginx:latest

使用鏡像nginx:latest以后臺模式啟動一個容器,并將容器的80埠映射到主機隨機埠,

docker run -P -d nginx:latest

使用鏡像 nginx:latest,以后臺模式啟動一個容器,將容器的 80 埠映射到主機的 80 埠,主機的目錄 /data 映射到容器的 /data,

docker run -p 80:80 -v /data:/data -d nginx:latest

系結容器的 8080 埠,并將其映射到本地主機 127.0.0.1 的 80 埠上,

$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

使用鏡像nginx:latest以互動模式啟動一個容器,在容器內執行/bin/bash命令,

runoob@runoob:~$ docker run -it nginx:latest /bin/bash

  • 查看容器
docker ps -a

[root@localhost opt] docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
59c4c2f2b6a0        nginx:latest        "/docker-entrypoint.…"   2 minutes ago       Created                                 pedantic_bose

//顯示最近創建容器
docker ps -l

//顯示最近創建的3個容器
docker ps -n 3

//不截斷輸出
docker ps --no-trunc 

//獲取鏡像redis的元資訊
docker inspect redis

//獲取正在運行的容器redis的 IP
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis

//查看正在運行的容器
docker ps

//查看正在運行的容器的ID
docker ps -q

//查看正在運行+歷史運行過的容器
docker ps -a

//顯示運行容器總檔案大小
docker ps -s

  • 啟動容器

docker start 59c4c2f2b6a0

查看鏡像 up 狀態
[root@localhost opt] docker start 59c4c2f2b6a0
59c4c2f2b6a0
[root@localhost opt] docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
59c4c2f2b6a0        nginx:latest        "/docker-entrypoint.…"   3 minutes ago       Up 9 seconds        80/tcp              pedantic_bose

  • 停止容器
docker stop 容器ID
  • 重啟容器
docker restart 容器ID
  • 啟動執行命令查看系統根目錄

docker pull centos 7
docker create it centos 7 /bin/bash
docker start 8c6dd3246eb4  

docker run nginx /usr/bin/bash -c ls 

  • 執行完成直接關閉,狀態是exited

  • 持續在后臺執行

  • 容器進入


[root@localhost opt] docker exec -it 8c6dd3246eb4 /bin/bash

docker exec :在運行的容器中執行命令

    -d :分離模式: 在后臺運行

    -i :即使沒有附加也保持STDIN 打開

    -t :分配一個偽終端

 docker exec -i -t  mynginx /bin/bash

docker exec -it 9df70f9a0714 /bin/bash

exit   退出

  • 容器匯出

 docker export 8c6dd3246eb4 > nginx_c
 
 8c6dd3246eb4:容器ID
 
 Nginx_c :匯出容器檔案名 
 
  • 容器匯入(會生成鏡像,而不會創建容器)

cat nginx_c | docker import - nginx:web

 nginx_c:匯出的容器檔案名
 
 nginx:web:新的容器名
 
  • 洗掉容器(容器必須在停止狀態)

[root@localhost opt] docker rm 8c6dd3246eb4 
Error response from daemon: You cannot remove a running container 8c6dd3246eb42099dbf58e2730f348acc21b685a4f27c60185d9a427e1282f09. Stop the container before attempting removal or force remove
[root@localhost opt] docker stop 8c6dd3246eb4
8c6dd3246eb4
[root@localhost opt] docker rm 8c6dd3246eb4
8c6dd3246eb4

  • 批量洗掉容器

方法一:docker ps -a | awk '{print "docker rm $1"}' | bash

方法二:
[root@localhost opt]docker rm -f $(docker ps -aq)
395dab3d44df
2b52ff42681f
1627dc7213cd
960857ff1ba0
59c4c2f2b6a0
 

//強制殺死行程容器(處于運行狀態才能殺死行程-docker start id)

docker kill  id

  • 洗掉一個運行中的容器
docker rm -f redis
  • 洗掉多個容器

docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm

  • -l 移除容器間的網路連接,連接名為 db
docker rm -l db 
  • -v 洗掉容器,并洗掉容器掛載的資料卷

docker rm -v redis

  • 洗掉none鏡像

vim none.sh

docker ps -a | grep "Exited" | awk '{print $1}'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1}'|xargs docker rm
docker images|grep none|awk '{print $3}'|xargs docker rmi

  • -f :通過 SIGKILL 信號強制洗掉一個運行中的容器,

  • -l :移除容器間的網路連接,而非容器本身

  • -v :洗掉與容器關聯的卷,

  • 容器行程



//top支持 ps 命令引數,格式:docker top [OPTIONS] CONTAINER [ps OPTIONS]


//列出redis容器中運行行程

docker top redis(容器ID)


//查看所有運行容器的行程資訊

for i in  `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done

  • 容器日志

//查看redis容器日志,默認引數
docker logs rabbitmq

//查看redis容器日志,引數:-f  跟蹤日志輸出;-t   顯示時間戳;--tail  僅列出最新N條容器日志;
docker logs -f -t --tail=20 redis

//查看容器redis從2019年05月21日后的最新10條日志,
docker logs --since="2019-05-21" --tail=10 redis

  • docker pause :暫停容器中所有的行程

  • docker unpause :恢復容器中所有的行程,


實體

暫停資料庫容器db01提供服務,

docker pause db01

恢復資料庫容器db01提供服務,

docker unpause db01

七、創建鏡像

  • 基于已有的鏡像容器進行創建鏡像

docker create -it jasonlix/docker-cobbler /bin/bash

docker commit -m "new" -a "daoke" c83aee844ae0 daoke:test

docker images | grep daoke

  • 基于本地模板創建

將檔案debian-7.0-x86-minimal.tar.gz拖至opt目錄中

[root@localhost opt] cat debian-7.0-x86-minimal.tar.gz | docker import - daoke:new
sha256:6683b936f5574560c919751a6622d4131bb7fb4d88f7a9614c55fb7f554ef2c0

[root@localhost opt] docker images | grep new
daoke                       new                 6683b936f557        13 seconds ago      215MB
 

  • 基于dockerfile構建鏡像

mkdir apache

cd apache

vim Dockerfile

#基于的基礎鏡像
FROM centos
#維護鏡像的用戶資訊
MAINTAINER The project <cloud-ops@centos.org>
#鏡像操作指令安裝Apache軟體
RUN yum -y update
RUN yum -y install httpd
#開啟80埠
EXPOSE 80
#復制網站首頁檔案
ADD index.html /var/www/html/index.html
#將執行腳本復制到鏡像中
ADD run.sh /run.sh
RUN chmod 755 /run.sh
#啟動容器時執行腳本
CMD ["/run.sh"]

vim run.sh

#!/bin/bash
rm -rf /run/httpd/*
exec /usr/sbin/apachectl -D FOREGROUND

echo "web test" > index.html

  • 生產鏡像

docker build -t httpd:centos1 .    (注意別忘了末尾有“.”)

  • 新鏡像運行容器

docker run -d -p 1216:80 httpd:centos1 

docker start 4fbc428fac3a  (開啟容器)

[root@localhost apache]docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                  NAMES
4fbc428fac3a        httpd:centos1       "/run.sh"                8 seconds ago       Up 7 seconds                0.0.0.0:1216->80/tcp   affectionate_lovelace
a4f43a12352e        registry            "/entrypoint.sh /etc…"   2 hours ago         Exited (2) 40 minutes ago                          goofy_bose
ba786a224305        registry            "/entrypoint.sh /bin…"   2 hours ago         Exited (127) 2 hours ago                           zen_hamilton

  • 測驗真機瀏覽器
  • http://192.168.75.200:1216/

八、docker的資料管理

(1)資料管理操作

  • 方便查看容器內產生的資料
  • 多容器間實作資料共享

(2)兩種管理方式

  • 資料卷:宿主機和容器之間共享
  • 資料卷容器: 容器與容器之間共享
  • 資料卷:是一個提供容器使用的特殊目錄

(3)創建資料卷


docker run -d -v /data1 -v /data2 --name web httpd:centos

  • 掛載宿主機目錄作為資料卷(宿主機目錄與容器目錄同步)

docker run -d -v /var/www:/data1 --name web-1 httpd:centos

  • web-1 是指容器名,httpd:centos 是鏡像,是指掛載一個目錄并且生成一個容器web-1鏡像為httpd 標簽是centos

docker pull centos

//宿主機目錄/var/www掛載容器中的/data1

docker run  -v /var/www:/data1 --name web1 -it centos /bin/bash

cd /data1
touch test123

//回傳宿主機進行查看

ls /var/www

  • 資料卷容器

//資料卷容器

docker run --name web100 -v /data1 -v /data2 -it centos /bin/bash  ##(加/bin/bash 就是可以直接進入容器)

  • 新容器掛載資料卷容器web100

docker run -it -volumes-from web100 --name db1 centos /bin/bash

注釋:容器web100 和容器db1 所掛載的目錄data1和data2 資料是同步運行的,

  • 埠映射

docker run -d -p httpd:centos

docker run -d -p 49280:80 httpd:centos

docker ps -a

九、本地私有倉庫建立


docker pull registry

[root@localhost /]# docker pull registry
Using default tag: latest
latest: Pulling from library/registry
cbdbe7a5bc2a: Pulling fs layer 
47112e65547d: Pulling fs layer 
46bcb632e506: Pulling fs layer 
c1cc712bcecd: Pulling fs layer 
3db6272dcbfa: Pulling fs layer 
latest: Pulling from library/registry
cbdbe7a5bc2a: Pulling fs layer 
47112e65547d: Pulling fs layer 
46bcb632e506: Pulling fs layer 
c1cc712bcecd: Pulling fs layer 
3db6272dcbfa: Pulling fs layer 
open /var/lib/docker/tmp/GetImageBlob684407966: no space left on device

---------------------------------------------------

vim /etc/docker/daemon.json
{
  "insecure-registries":["192.168.75.200:5000"],  //添加
  "registry-mirrors": ["https://1i3tpy0i.mirror.aliyuncs.com"]
}
~ 
systemctl restart docker.service  

docker create -it registry /bin/bash #新建容器

docker ps -a
[root@localhost docker]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                       PORTS                    NAMES
ba786a224305        registry            "/entrypoint.sh /bin…"   44 minutes ago      Exited (127) 9 minutes ago                            zen_hamilton

docker start 231d40e811cd   ##開啟(不是up是正確的)

##宿主機的/data/registry自動創建掛載容器中的/tmp/registry
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry

docker pull httpd

##更改標記為192.168.75.200:5000/httpd  
docker tag httpd:latest 192.168.75.200:5000/httpd  (標記IP地址與私有倉庫的地址和埠相一致)
docker push 192.168.75.200:5000/httpd  ##上傳鏡像

##獲取私有倉庫串列
curl -XGET http://192.168.75.200:500/v2/_catalog
docker pull 192.168.75.200:500/httpd ##測驗私有倉庫下載鏡像

  • 埠映射

docker run -d -P httpd:centos   ##隨機分配外部的映射埠
docker run -d -p 43992:80 httpd:centos  ##指定埠映射
docker ps -a   ##查看

十、容器互聯

(1)埠映射進行容器互聯

  • 創建并運行容器取名為web1,埠號自動映射
docker run -itd -P --name web1 ecntos /bin/bash 

  • 創建并運行容器取名web2,連接到web1和其通信

docker run -itd -P --name web2 --link web1:web1 centos /bin/bash

  • 進web2容器 ping web1

埠映射并不是唯一把 docker 連接到另一個容器的方法,

docker 有一個連接系統允許將多個容器連接在一起,共享連接資訊,

docker 連接會創建一個父子關系,其中父容器可以看到子容器的資訊,

(2)網路設定進行容器互聯

新建網路
下面先創建一個新的 Docker 網路,

$ docker network create -d bridge test-net

引數說明:

-d:引數指定 Docker 網路型別,有 bridge、overlay,

其中 overlay 網路型別用于 Swarm mode,在本小節中你可以忽略它,
連接容器

運行一個容器并連接到新建的 test-net 網路:

$ docker run -itd --name test1 --network test-net ubuntu /bin/bash

打開新的終端,再運行一個容器并加入到 test-net 網路:

$ docker run -itd --name test2 --network test-net ubuntu /bin/bash

apt-get update
apt install iputils-ping

下面通過 ping 來證明 test1 容器和 test2 容器建立了互聯關系,

如果 test1、test2 容器內中無 ping 命令,則在容器內執行以下命令安裝 ping(即學即用:可以在一個容器里安裝好,提交容器到鏡像,在以新的鏡像重新運行以上倆個容器),

在這里插入圖片描述

在這里插入圖片描述

十一、總結

  1. docker的容器技術可以在一臺主機上輕松為任何應用創建一個輕量級的、可移植的、自給自足的容器,
  2. 鏡像、容器、倉庫是docker的三大核心概念,
  3. dockerfile是一種被docker程式解釋的腳本,dockerfile由多條的指令組成,每條指令對應Linux下面的一條命令,
  4. 管理docker容器中資料主要資料卷和資料卷容器方式,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/113140.html

標籤:其他

上一篇:CentOS6.7搭建Zookeeper

下一篇:鴻蒙系統原始碼分析(總目錄)|用故事說內核|持續更新中...

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more