91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker容器——基礎管理

發布時間:2020-06-12 01:36:05 來源:網絡 閱讀:1360 作者:一拳超人007 欄目:云計算

Docker是什么

是一種輕量級的“虛擬機”
在Linux容器里運行應用的開源工具

Docker與虛擬機的區別

?虛擬機是在一臺物理機器上,利用虛擬化技術,虛擬出來多個操作系統,每個操作系統之間是隔離的。Docker是開源的應用容器引擎,依然需要先在電腦上安裝操作系統,然后安裝Docker容器的管理器,才可以。虛擬機是在硬件級別進行虛擬化,而Docker是在操作系統的層面虛擬化;虛擬機是通過模擬硬件搭建操作系統

Docker的使用場景

打包應用程序簡化部署
可脫離底層硬件任意遷移
例:服務器從騰訊云遷移到阿里云

Docker核心概念

鏡像
容器
倉庫

CentOS安裝Docker的兩種方式

使用curl獲得docker的安裝腳本進行安裝
使用yum倉庫來安裝docker

安裝docker

1,設置鏡像源,安裝docker

[root@localhost ~]# yum install -y \
> yum-utils \    ##設置源工具
> device-mapper-persistent-data \    ##映射工具
> lvm2   ##映射工具
[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
##加載阿里云鏡像源
[root@localhost ~]# yum install docker-ce -y  ##安裝docker容器
[root@localhost ~]# systemctl stop firewalld.service   ##關閉防火墻
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start docker   ##開啟docker容器
[root@localhost ~]# systemctl enable docker  ##開機自啟動
[root@localhost ~]# ps aux | grep docker  ##查看docker進程是否開啟
[root@localhost ~]# docker search nginx  ##搜索公有鏡像
[root@localhost ~]# docker pull nginx  ##下載鏡像
##沒有加速速度會很慢,所以要進行鏡像加速

2,進行鏡像加速

[root@localhost ~]# docker version   ##查看版本
登錄阿里云網站--控制臺--產品服務--容器鏡像服務--鏡像加速器--選擇centos

Docker容器——基礎管理

[root@localhost ~]# tee /etc/docker/daemon.json <<-'EOF'   ##進行鏡像加速
> {
>   "registry-mirrors": ["https://3a8s9zx5.mirror.aliyuncs.com"]
> }
> EOF
{
    "registry-mirrors": ["https://3a8s9zx5.mirror.aliyuncs.com"]
}
[root@localhost ~]# systemctl daemon-reload   ##重載守護進程
[root@localhost ~]# systemctl restart docker   ##重啟docker服務
[root@localhost ~]# docker pull nginx    ##下載nginx鏡像
[root@localhost ~]# docker images  ##查看下載的鏡像信息
REPOSITORY     TAG        IMAGE ID       CREATE        SIZE
nginx                   latest     f7bb5701a33c   4 days ago    126MB

docker鏡像基本操作

容器1:192.168.13.128

容器2:192.168.13.129

[root@localhost ~]# docker inspect f7bb5701a33c  ##查看鏡像信息
[root@localhost ~]# docker tag nginx:latest nginx:web  ##添加新標簽
[root@localhost ~]# docker images  ##查看鏡像
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              f7bb5701a33c        4 days ago          126MB
nginx               web                 f7bb5701a33c        4 days ago          126MB
##重新生成一個鏡像,原有的不會消失
[root@localhost ~]# docker images | grep web   ##查看標簽為web的鏡像
nginx               web                 f7bb5701a33c        4 days ago          126MB
[root@localhost ~]# docker rmi nginx:web   ##刪除鏡像,或者直接跟ID號
Untagged: nginx:web
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              f7bb5701a33c        4 days ago          126MB
[root@localhost ~]# cd /opt/
[root@localhost opt]# docker save  -o nginx nginx:latest ##存出鏡像
[root@localhost opt]# ls
containerd  nginx  rh
[root@localhost opt]# scp /opt/nginx root@192.168.13.129:/opt/  
##遠程復制到129服務器上

開啟另一臺裝有docker的虛擬機(192.168.13.129)

[root@localhost opt]# docker load < nginx   ##載入鏡像
##或者使用docker load --input 存出文件名
[root@localhost opt]# docker images  ##查看鏡像信息
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              f7bb5701a33c        4 days ago          126MB

回到原虛擬機(192.168.13.128)

[root@localhost opt]# docker tag nginx:latest nginx:web  ##修改標簽
[root@localhost opt]# docker login  ##登錄docker(你需要注冊)
Username:   ##用戶名
Password:    ##密碼
[root@localhost opt]# docker push nginx:web  ##上傳公有倉庫

docker容器基本操作

[root@localhost opt]# docker create -it nginx:latest /bin/bash  ##基于鏡像創建一個容器
##-i讓容器的標準輸入保持打開,-t讓docker分配一個偽終端
36fdfb0925ba040c094d585d70a3481bd450c7d39e6636ceeb10b5c1b9743593
[root@localhost opt]# docker ps -a  ##-a列出最近一次啟動的容器
CONTAINER ID        IMAGE         COMMAND             CREATED             STATUS              PORTS               NAMES
36fdfb0925ba        nginx:latest        "/bin/bash"         3 seconds ago       Created                                 mystifying_dijkstra
[root@localhost opt]# docker start 36fdfb0925ba  ##開啟容器
36fdfb0925ba
[root@localhost opt]# docker ps -a  ##查看此時容器狀態為開啟
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
36fdfb0925ba        nginx:latest        "/bin/bash"         16 minutes ago      Up 6 seconds        80/tcp              mystifying_dijkstra

完整的步驟操作:

[root@localhost opt]# docker search centos7   ##查看找centos7鏡像
[root@localhost opt]# docker pull paigeeworld/centos7  ##下載鏡像
[root@localhost opt]# docker images  ##查看鏡像
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
nginx                 latest              f7bb5701a33c        4 days ago          126MB
nginx                 web                 f7bb5701a33c        4 days ago          126MB
paigeeworld/centos7   latest              4cbe7aa905e7        5 years ago         382MB
[root@localhost opt]# docker create -it paigeeworld/centos7 /bin/bash  ##創建容器
c48649c8cee9124cb456be4f93882e6dff16f88ba45051731138142d99293dfe
[root@localhost opt]# docker ps -a  ##查看容器
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                     PORTS               NAMES
c48649c8cee9        paigeeworld/centos7   "/bin/bash"         4 seconds ago       Created                                        relaxed_curran
36fdfb0925ba        nginx:latest          "/bin/bash"         24 minutes ago      Exited (0) 3 minutes ago                       mystifying_dijkstra
[root@localhost opt]# docker start c48649c8cee9  ##開啟容器
c48649c8cee9
[root@localhost opt]# docker ps -a  ##查看容器
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                     PORTS               NAMES
c48649c8cee9        paigeeworld/centos7   "/bin/bash"         34 seconds ago      Up 7 seconds                                   relaxed_curran
36fdfb0925ba        nginx:latest          "/bin/bash"         24 minutes ago      Exited (0) 3 minutes ago  

容器的基本操作

[root@localhost opt]# docker run paigeeworld/centos7 /usr/bin/bash -c ls /
##docker run直接下載鏡像,創建容器,并開啟,進入容器執行命令,退出
bin
boot
dev
etc
home
[root@localhost opt]# docker ps -a  ##查看容器
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                      PORTS               NAMES
c48649c8cee9        paigeeworld/centos7   "/bin/bash"              9 minutes ago       Up 9 minutes                                    relaxed_curran
[root@localhost opt]# docker exec -it c48649c8cee9 /bin/bash  
##進入容器(必須為開啟狀態)
bash-4.2# ls /
bin   dev  home  lib64       media  opt   root  sbin  sys  usr
boot  etc  lib   lost+found  mnt    proc  run   srv   tmp  var
bash-4.2# exit   ##退出容器
exit
[root@localhost opt]# docker ps -a   ##此時容器狀態還是開啟的狀態
CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                          PORTS               NAMES
c48649c8cee9        paigeeworld/centos7   "/bin/bash"              10 minutes ago       Up 10 minutes                                       relaxed_curran
[root@localhost opt]# docker stop c48649c8cee9   ##關閉容器
c48649c8cee9
[root@localhost opt]# docker ps -a  ##此時容器為退出狀態
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                       PORTS               NAMES
c48649c8cee9        paigeeworld/centos7   "/bin/bash"              11 minutes ago      Exited 
[root@localhost opt]# docker run -d paigeeworld/centos7 /bin/bash -c "while true;do echo hello;done"
##持續在后臺執行,-d在后臺進行運行
398f3d27f36b7f59a2167a71e71f61064e4e9a0808dfa13404caec0280a0b9c2
[root@localhost opt]# docker ps -a  ##查看容器一直是開啟狀態
CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                       PORTS               NAMES
398f3d27f36b        paigeeworld/centos7   "/bin/bash -c 'while…"   9 seconds ago        Up 7 seconds   
[root@localhost opt]# docker export 36fdfb0925ba > nginx_c ##容器導出
[root@localhost opt]# ls
containerd  nginx  nginx_c  rh
[root@localhost opt]# scp /opt/nginx_c root@192.168.13.129:/opt/  ##遠程復制到另一臺虛擬機
##到另一臺虛擬機上
[root@localhost opt]# ls
containerd  nginx  nginx_c  rh
[root@localhost opt]# cat nginx_c | docker import - nginx:web ##容器導入
##會生成鏡像而不會創建容器
sha256:1488d058197863aedd46d289eeb11dc39f19a2b855c3ecf383331a4d0bac568c
[root@localhost opt]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               web                 1488d0581978        5 seconds ago       125MB
[root@localhost opt]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@localhost opt]# docker ps -a | awk '{print "docker rm "$1}' | bash 
##批量刪除容器

docker資源控制

限制cpu使用速率

通過--cpu-quota選項來限制cpu的使用率
通過修改配置文件cpu.cfs_quota_us實現

多任務按比例分享cpu

docker run --cpu-shares 1024 容器A
docker run --cpu-shares 1024 容器B
docker run --cpu-shares 2048 容器C

使用--cpuset-cpus選項限制cpu內核使用權

[root@localhost opt]# docker run --cpu-quota 20000 nginx:latest ##設置20%限定
[root@localhost opt]# cd /sys/fs/cgroup/cpu/docker/
[root@localhost opt]# cat cpu.cfs_quota_us 
-1
[root@localhost opt]# docker run -itd --name c1 --cpu-shares 512 paigeeworld/centos7
##創建容器c1設置權重,使得c1和c2的cpu資源占比為33.3%和66.7%
ec4ab03a7969eebe4746cfe67184bc2c6f9c97e81b22bc2ffab452820a78a0a7
[root@localhost opt]# docker run -itd --name c2 --cpu-shares 1024 paigeeworld/centos7
c688b014329c6a33b0d66947f4489a1a1cb6febc321090ecb4a82b68ae6df250
[root@localhost opt]# docker ps -a  ##查看容器
CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                     PORTS               NAMES
c688b014329c        paigeeworld/centos7   "/bin/bash"              About a minute ago   Up About a minute                              c2
ec4ab03a7969        paigeeworld/centos7   "/bin/bash"              About a minute ago   Up About a minute                              c1
[root@localhost opt]# docker run --name c3 --cpuset-cpus 0,1 paigeeworld/centos7
##限制容器使用指定的cpu
[root@localhost opt]# docker ps -a  ##查看容器的信息
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                     PORTS               NAMES
751409a81682        paigeeworld/centos7   "/bin/bash"              8 seconds ago       Exited (0) 7 seconds ago                       c3
[root@localhost opt]# docker run --name c5 -m 512m paigeeworld/centos7
##內存使用限制
[root@localhost opt]# docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED              STATUS                          PORTS               NAMES
8c3101668345        paigeeworld/centos7   "/bin/bash"              5 seconds ago        Exited (0) 4 seconds ago                            c5

對blkio限制

--device-read-bps:限制某個設備的數據量
--device-write-bps:限制寫入某個設備的數據量
--device-read-iops:限制讀某個設備的次數
--device-write-iops:限制寫入某個設備的次數
[root@localhost opt]# docker run -d --device-write-bps /dev/sda:30mb paigeeworld/centos7

docker的數據管理

數據管理操作

方便查看容器內產生的數據
多容器間實現數據共享

兩種管理方式

數據卷
數據卷容器

數據卷

數據卷是一個提供容器使用的特殊目錄

數據卷容器

數據卷容器就是一個普通的容器

數據卷共享(宿主機跟容器的共享):

[root@localhost ~]# docker pull centos  ##下載鏡像
[root@localhost ~]# docker run -v /var/www:/data1 --name web1 -it centos /bin/bash
##關聯宿主機和容器的共享
[root@2483bee94f1a /]# cd data1/
[root@2483bee94f1a data1]# echo "123" > test01.txt   
[root@2483bee94f1a data1]# exit 
exit
[root@localhost ~]# cat /var/www/test01.txt   
123

數據卷容器共享(容器跟容器):

[root@localhost ~]# docker run --name web100 -v /data1 -v /data2 -it centos /bin/bash
##創建一個web100容器并分別有兩個卷為data1,2
[root@ba6a328c068e /]# cd data1/
[root@ba6a328c068e data1]# echo "111" > 111.txt  ##分別在目錄中寫入內容
[root@ba6a328c068e data1]# cd ../data2/
[root@ba6a328c068e data2]# echo "222" > 222.txt
[root@ba6a328c068e data2]# exit
exit
[root@localhost ~]# docker run -it --volumes-from web100 -it centos /bin/bash
##將新容器掛載數據卷容器web100
[root@3f64be49dadd /]# cat data1/111.txt 
111
[root@3f64be49dadd /]# cat data2/222.txt 
222

謝謝閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扬中市| 黄浦区| 桃园市| 红原县| 三都| 寻乌县| 苍山县| 古浪县| 澎湖县| 镇雄县| 新化县| 含山县| 江源县| 双牌县| 江口县| 白沙| 彰武县| 阆中市| 交口县| 元阳县| 南宫市| 淮北市| 桂阳县| 晴隆县| 岑巩县| 沐川县| 濮阳县| 巫溪县| 夏津县| 舒城县| 宕昌县| 额敏县| 平昌县| 鹤岗市| 玉龙| 祁阳县| 沭阳县| 萨迦县| 襄樊市| 客服| 鲁山县|