溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker的基本使用方法是什么

發(fā)布時(shí)間:2022-02-16 15:30:43 來(lái)源:億速云 閱讀:104 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Docker的基本使用方法是什么”,在日常操作中,相信很多人在Docker的基本使用方法是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Docker的基本使用方法是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

Docker的基本使用方法是什么

開啟動(dòng)網(wǎng)絡(luò)轉(zhuǎn)發(fā)功能,默認(rèn)會(huì)自動(dòng)開啟

[root@Docker  ]# vim /etc/sysctl.conf #插入以下內(nèi)容net.ipv4.ip_forward = 1
[root@Docker  ]# sysctl -p #生效net.ipv4.ip_forward = 1
[root@Docker  ]# cat /proc/sys/net/ipv4/ip_forward1

例 1:運(yùn)行一個(gè) container 并加載鏡像 centos,運(yùn)行起來(lái)這個(gè)實(shí)例后,在實(shí)例中執(zhí)行 /bin/bash 命令

docker 常用參數(shù):
run 運(yùn)行
-i 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用
-t 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用
[root@Docker ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              470671670cac        4 months ago        237MB
[root@Docker ~]# docker run -it centos:latest /bin/bash  #啟動(dòng)一個(gè)實(shí)例,秒級(jí)響應(yīng)[root@efb4af688330 /]# lsbin  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr

[root@efb4af688330 /]# cat /etc/redhat-releaseCentOS Linux release 8.1.1911 (Core)

安裝軟件

[root@0a297ff99af8 /]# yum install -y httpdFailed to set locale, defaulting to C.UTF-8
CentOS-8 - AppStream                      5.7 MB/s | 7.0 MB     00:01    
CentOS-8 - Base                           2.2 MB/s | 2.2 MB     00:00    
CentOS-8 - Extras                         8.1 kB/s | 5.9 kB     00:00    
Dependencies resolved.
==========================================================================
Package     Arch   Version                               Repo       Size
==========================================================================
Installing:
httpd       x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 1.7 M
Installing dependencies:
apr         x86_64 1.6.3-9.el8                           AppStream 125 k
apr-util    x86_64 1.6.1-6.el8                           AppStream 105 k
centos-logos-httpd
            noarch 80.5-2.el8                            AppStream  24 k
httpd-filesystem
            noarch 2.4.37-16.module_el8.1.0+256+ae790463 AppStream  35 k
httpd-tools x86_64 2.4.37-16.module_el8.1.0+256+ae790463 AppStream 103 k
mod_http2   x86_64 1.11.3-3.module_el8.1.0+213+acce2796  AppStream 158 k
brotli      x86_64 1.0.6-1.el8                           BaseOS    323 k
mailcap     noarch 2.1.48-3.el8                          BaseOS     39 k
Installing weak dependencies:
apr-util-bdb
            x86_64 1.6.1-6.el8                           AppStream  25 k
apr-util-openssl
            x86_64 1.6.1-6.el8                           AppStream  27 k
Enabling module streams:
httpd              2.4                                                  

Transaction Summary
==========================================================================
Install  11 Packages

Total download size: 2.6 M
Installed size: 8.1 M
Downloading Packages:
(1/11): apr-util-bdb-1.6.1-6.el8.x86_64.r 142 kB/s |  25 kB     00:00    A
(2/11): apr-1.6.3-9.el8.x86_64.rpm        588 kB/s | 125 kB     00:00    
(3/11): apr-util-openssl-1.6.1-6.el8.x86_ 346 kB/s |  27 kB     00:00    
(4/11): apr-util-1.6.1-6.el8.x86_64.rpm   340 kB/s | 105 kB     00:00    
(5/11): centos-logos-httpd-80.5-2.el8.noa 187 kB/s |  24 kB     00:00    
(6/11): httpd-filesystem-2.4.37-16.module 398 kB/s |  35 kB     00:00    
(7/11): mod_http2-1.11.3-3.module_el8.1.0 992 kB/s | 158 kB     00:00    
(8/11): httpd-2.4.37-16.module_el8.1.0+25 4.8 MB/s | 1.7 MB     00:00    
(9/11): httpd-tools-2.4.37-16.module_el8. 387 kB/s | 103 kB     00:00    
(10/11): mailcap-2.1.48-3.el8.noarch.rpm  289 kB/s |  39 kB     00:00    
(11/11): brotli-1.0.6-1.el8.x86_64.rpm    826 kB/s | 323 kB     00:00    
--------------------------------------------------------------------------
Total                                     290 kB/s | 2.6 MB     00:09    
warning: /var/cache/dnf/AppStream-02e86d1c976ab532/packages/apr-1.6.3-9.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY
CentOS-8 - AppStream                      1.6 MB/s | 1.6 kB     00:00    
Importing GPG key 0x8483C65D:
Userid     : "CentOS (CentOS Official Signing Key) "Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction testTransaction test succeeded.
Running transaction
 Preparing        :                                                  1/1
 Installing       : apr-1.6.3-9.el8.x86_64                          1/11
 Running scriptlet: apr-1.6.3-9.el8.x86_64                          1/11
 Installing       : apr-util-bdb-1.6.1-6.el8.x86_64                 2/11
 Installing       : apr-util-openssl-1.6.1-6.el8.x86_64             3/11
 Installing       : apr-util-1.6.1-6.el8.x86_64                     4/11
 Running scriptlet: apr-util-1.6.1-6.el8.x86_64                     4/11
 Installing       : httpd-tools-2.4.37-16.module_el8.1.0+256+ae7    5/11
 Installing       : mailcap-2.1.48-3.el8.noarch                     6/11
 Installing       : brotli-1.0.6-1.el8.x86_64                       7/11
 Running scriptlet: httpd-filesystem-2.4.37-16.module_el8.1.0+25    8/11
 Installing       : httpd-filesystem-2.4.37-16.module_el8.1.0+25    8/11
 Installing       : centos-logos-httpd-80.5-2.el8.noarch            9/11
 Installing       : mod_http2-1.11.3-3.module_el8.1.0+213+acce27   10/11
 Installing       : httpd-2.4.37-16.module_el8.1.0+256+ae790463.   11/11
 Running scriptlet: httpd-2.4.37-16.module_el8.1.0+256+ae790463.   11/11
 Verifying        : apr-1.6.3-9.el8.x86_64                          1/11
 Verifying        : apr-util-1.6.1-6.el8.x86_64                     2/11
 Verifying        : apr-util-bdb-1.6.1-6.el8.x86_64                 3/11
 Verifying        : apr-util-openssl-1.6.1-6.el8.x86_64             4/11
 Verifying        : centos-logos-httpd-80.5-2.el8.noarch            5/11
 Verifying        : httpd-2.4.37-16.module_el8.1.0+256+ae790463.    6/11
 Verifying        : httpd-filesystem-2.4.37-16.module_el8.1.0+25    7/11
 Verifying        : httpd-tools-2.4.37-16.module_el8.1.0+256+ae7    8/11
 Verifying        : mod_http2-1.11.3-3.module_el8.1.0+213+acce27    9/11
 Verifying        : brotli-1.0.6-1.el8.x86_64                      10/11
 Verifying        : mailcap-2.1.48-3.el8.noarch                    11/11

Installed:
 httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                      
 apr-util-bdb-1.6.1-6.el8.x86_64                                        
 apr-util-openssl-1.6.1-6.el8.x86_64                                    
 apr-1.6.3-9.el8.x86_64                                                  
 apr-util-1.6.1-6.el8.x86_64                                            
 centos-logos-httpd-80.5-2.el8.noarch                                    
 httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae790463.noarch          
 httpd-tools-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                
 mod_http2-1.11.3-3.module_el8.1.0+213+acce2796.x86_64                  
 brotli-1.0.6-1.el8.x86_64                                              
 mailcap-2.1.48-3.el8.noarch                                            

Complete!

退出容器

[root@efb4af688330 /]# exitexit[root@Docker ~]#

例 2:在 container 中啟動(dòng)一個(gè)長(zhǎng)久運(yùn)行的進(jìn)程,不斷向 stdin 輸出 hello world 模擬一個(gè)后臺(tái)運(yùn)行的服務(wù)

docker 常用參數(shù):
-d 后臺(tái)運(yùn)行容器,并返回容器 ID
-c 后面跟待完成的命令
[root@Docker ~]# docker run -d centos:latest /bin/bash -c "while true;do echo hello world;sleep 1;done"607752360adf7e9ebfdbae01d09b2fd9ed2f350ad2d87e3e868d63144b966104#容器的 ID

從一個(gè)容器中取日志,查看輸出的內(nèi)容

[root@Docker ~]# docker logs 607752360ad #容器的 ID 可以寫全,也可以不寫全,只要唯一就可以了hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
[root@Docker ~]#

查看正在運(yùn)行的容器

[root@Docker  ]# docker ps #列出所有運(yùn)行中容器CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS               NAMES
607752360adf        centos:latest       "/bin/bash -c 'while…"   About a minute ago   Up About a minute                       brave_fermi

也可以使用短 ID 或 docker 實(shí)例的名字查看日志輸出

[root@Docker ~]# docker logs 607752360adf或
[root@Docker ~]# docker logs brave_fermi[root@Docker ~]# docker ps -a #-a 列出所有容器(包含沉睡/退出狀態(tài)的容器)CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
607752360adf        centos:latest       "/bin/bash -c 'while…"   4 minutes ago       Up 4 minutes                                   brave_fermi
0a297ff99af8        centos:latest       "/bin/bash"              7 minutes ago       Exited (1) 5 minutes ago                       ecstatic_yonath
efb4af688330        centos:latest       "/bin/bash"              9 minutes ago       Exited (0) 8 minutes ago                       epic_mcclintock

[root@Docker ~]# docker images #列出所有本地鏡像REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              470671670cac        4 months ago        237MB

例 3:殺死一個(gè)容器 比如:殺死一個(gè)正在后臺(tái)運(yùn)行的容器

查看要?dú)⑺廊萜鞯?ID

[root@Docker ~]# docker ps -a #-a 列出所有容器(包含沉睡/退出狀態(tài)的容器);殺死 ID 為 607752360adf 的容器
[root@Docker ~]# docker kill 607752360adf #殺死一個(gè)容器607752360adf

查看結(jié)果

[root@Docker ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

例 4:?jiǎn)?dòng)、停止、重啟 container 容器實(shí)例

啟動(dòng): run # 創(chuàng)建并運(yùn)行 docker 實(shí)例

[root@Docker  ]# docker run -d centos:latest /bin/bash -c "while true;do echo hello world;sleep 1;done"

查看容器

[root@Docker ~]# docker psCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
bea2aaa70725        centos:latest       "/bin/bash -c 'while…"   4 seconds ago       Up 3 seconds                            flamboyant_keller

關(guān)閉容器

[root@Docker ~]# docker stop bea2aaa70725bea2aaa70725

查看

[root@Docker ~]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@Docker ~]# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                        PORTS               NAMES
bea2aaa70725        centos:latest       "/bin/bash -c 'while…"   About a minute ago   Exited (137) 35 seconds ago                       flamboyant_keller
607752360adf        centos:latest       "/bin/bash -c 'while…"   9 minutes ago        Exited (137) 3 minutes ago                        brave_fermi
0a297ff99af8        centos:latest       "/bin/bash"              12 minutes ago       Exited (1) 10 minutes ago                         ecstatic_yonath
efb4af688330        centos:latest       "/bin/bash"              15 minutes ago       Exited (0) 13 minutes ago                         epic_mcclintock
[root@Docker ~]# docker start bea2aaa70725bea2aaa70725
[root@Docker ~]# docker psCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
bea2aaa70725        centos:latest       "/bin/bash -c 'while…"   2 minutes ago       Up 31 seconds                           flamboyant_keller
[root@Docker ~]# docker restart bea2aaa70725bea2aaa70725

刪除指定 container : rm

[root@Docker ~]# docker rm bea2aaa70725Error response from daemon: You cannot remove a running container bea2aaa707259a80c474e7d43c5648af0a5cfe16c4e50470fb6c5c84a0490d8b. Stop the container before attempting removal or force remove

解決:可以先把容器 1a63ddea6571 關(guān)閉,然后再刪除或加-f 強(qiáng)制刪除

[root@Docker ~]# docker rm -f bea2aaa70725bea2aaa70725

到此,關(guān)于“Docker的基本使用方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI