Docker的基本使用方法是什么
这篇文章主要介绍“Docker的基本使用方法是什么”,在日常操作中,相信很多人在Docker的基本使用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker的基本使用方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
开启动网络转发功能,默认会自动开启
[root@Docker]#vim/etc/sysctl.conf#插入以下内容net.ipv4.ip_forward=1[root@Docker]#sysctl-p#生效net.ipv4.ip_forward=1[root@Docker]#cat/proc/sys/net/ipv4/ip_forward1例 1:运行一个 container 并加载镜像 centos,运行起来这个实例后,在实例中执行 /bin/bash 命令
docker常用参数:run运行-i以交互模式运行容器,通常与-t同时使用-t为容器重新分配一个伪输入终端,通常与-i同时使用[root@Docker~]#dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEcentoslatest470671670cac4monthsago237MB[root@Docker~]#dockerrun-itcentos:latest/bin/bash#启动一个实例,秒级响应[root@efb4af688330/]#lsbinetcliblost+foundmntprocrunsrvtmpvardevhomelib64mediaoptrootsbinsysusr[root@efb4af688330/]#cat/etc/redhat-releaseCentOSLinuxrelease8.1.1911(Core)
安装软件
[root@0a297ff99af8/]#yuminstall-yhttpdFailedtosetlocale,defaultingtoC.UTF-8CentOS-8-AppStream5.7MB/s|7.0MB00:01CentOS-8-Base2.2MB/s|2.2MB00:00CentOS-8-Extras8.1kB/s|5.9kB00:00Dependenciesresolved.==========================================================================PackageArchVersionRepoSize==========================================================================Installing:httpdx86_642.4.37-16.module_el8.1.0+256+ae790463AppStream1.7MInstallingdependencies:aprx86_641.6.3-9.el8AppStream125kapr-utilx86_641.6.1-6.el8AppStream105kcentos-logos-httpdnoarch80.5-2.el8AppStream24khttpd-filesystemnoarch2.4.37-16.module_el8.1.0+256+ae790463AppStream35khttpd-toolsx86_642.4.37-16.module_el8.1.0+256+ae790463AppStream103kmod_http2x86_641.11.3-3.module_el8.1.0+213+acce2796AppStream158kbrotlix86_641.0.6-1.el8BaseOS323kmailcapnoarch2.1.48-3.el8BaseOS39kInstallingweakdependencies:apr-util-bdbx86_641.6.1-6.el8AppStream25kapr-util-opensslx86_641.6.1-6.el8AppStream27kEnablingmodulestreams:httpd2.4TransactionSummary==========================================================================Install11PackagesTotaldownloadsize:2.6MInstalledsize:8.1MDownloadingPackages:(1/11):apr-util-bdb-1.6.1-6.el8.x86_64.r142kB/s|25kB00:00A(2/11):apr-1.6.3-9.el8.x86_64.rpm588kB/s|125kB00:00(3/11):apr-util-openssl-1.6.1-6.el8.x86_346kB/s|27kB00:00(4/11):apr-util-1.6.1-6.el8.x86_64.rpm340kB/s|105kB00:00(5/11):centos-logos-httpd-80.5-2.el8.noa187kB/s|24kB00:00(6/11):httpd-filesystem-2.4.37-16.module398kB/s|35kB00:00(7/11):mod_http2-1.11.3-3.module_el8.1.0992kB/s|158kB00:00(8/11):httpd-2.4.37-16.module_el8.1.0+254.8MB/s|1.7MB00:00(9/11):httpd-tools-2.4.37-16.module_el8.387kB/s|103kB00:00(10/11):mailcap-2.1.48-3.el8.noarch.rpm289kB/s|39kB00:00(11/11):brotli-1.0.6-1.el8.x86_64.rpm826kB/s|323kB00:00--------------------------------------------------------------------------Total290kB/s|2.6MB00:09warning:/var/cache/dnf/AppStream-02e86d1c976ab532/packages/apr-1.6.3-9.el8.x86_64.rpm:HeaderV3RSA/SHA256Signature,keyID8483c65d:NOKEYCentOS-8-AppStream1.6MB/s|1.6kB00:00ImportingGPGkey0x8483C65D:Userid:"CentOS(CentOSOfficialSigningKey)"Fingerprint:99DB70FAE1D7CE227FB6488205B555B38483C65DFrom:/etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficialKeyimportedsuccessfullyRunningtransactioncheckTransactionchecksucceeded.RunningtransactiontestTransactiontestsucceeded.RunningtransactionPreparing:1/1Installing:apr-1.6.3-9.el8.x86_641/11Runningscriptlet:apr-1.6.3-9.el8.x86_641/11Installing:apr-util-bdb-1.6.1-6.el8.x86_642/11Installing:apr-util-openssl-1.6.1-6.el8.x86_643/11Installing:apr-util-1.6.1-6.el8.x86_644/11Runningscriptlet:apr-util-1.6.1-6.el8.x86_644/11Installing:httpd-tools-2.4.37-16.module_el8.1.0+256+ae75/11Installing:mailcap-2.1.48-3.el8.noarch6/11Installing:brotli-1.0.6-1.el8.x86_647/11Runningscriptlet:httpd-filesystem-2.4.37-16.module_el8.1.0+258/11Installing:httpd-filesystem-2.4.37-16.module_el8.1.0+258/11Installing:centos-logos-httpd-80.5-2.el8.noarch9/11Installing:mod_http2-1.11.3-3.module_el8.1.0+213+acce2710/11Installing:httpd-2.4.37-16.module_el8.1.0+256+ae790463.11/11Runningscriptlet:httpd-2.4.37-16.module_el8.1.0+256+ae790463.11/11Verifying:apr-1.6.3-9.el8.x86_641/11Verifying:apr-util-1.6.1-6.el8.x86_642/11Verifying:apr-util-bdb-1.6.1-6.el8.x86_643/11Verifying:apr-util-openssl-1.6.1-6.el8.x86_644/11Verifying:centos-logos-httpd-80.5-2.el8.noarch5/11Verifying:httpd-2.4.37-16.module_el8.1.0+256+ae790463.6/11Verifying:httpd-filesystem-2.4.37-16.module_el8.1.0+257/11Verifying:httpd-tools-2.4.37-16.module_el8.1.0+256+ae78/11Verifying:mod_http2-1.11.3-3.module_el8.1.0+213+acce279/11Verifying:brotli-1.0.6-1.el8.x86_6410/11Verifying:mailcap-2.1.48-3.el8.noarch11/11Installed:httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64apr-util-bdb-1.6.1-6.el8.x86_64apr-util-openssl-1.6.1-6.el8.x86_64apr-1.6.3-9.el8.x86_64apr-util-1.6.1-6.el8.x86_64centos-logos-httpd-80.5-2.el8.noarchhttpd-filesystem-2.4.37-16.module_el8.1.0+256+ae790463.noarchhttpd-tools-2.4.37-16.module_el8.1.0+256+ae790463.x86_64mod_http2-1.11.3-3.module_el8.1.0+213+acce2796.x86_64brotli-1.0.6-1.el8.x86_64mailcap-2.1.48-3.el8.noarchComplete!
退出容器
[root@efb4af688330/]#exitexit[root@Docker~]#
例 2:在 container 中启动一个长久运行的进程,不断向 stdin 输出 hello world 模拟一个后台运行的服务
docker常用参数:-d后台运行容器,并返回容器ID-c后面跟待完成的命令[root@Docker~]#dockerrun-dcentos:latest/bin/bash-c"whiletrue;doechohelloworld;sleep1;done"607752360adf7e9ebfdbae01d09b2fd9ed2f350ad2d87e3e868d63144b966104#容器的ID
从一个容器中取日志,查看输出的内容
[root@Docker~]#dockerlogs607752360ad#容器的ID可以写全,也可以不写全,只要唯一就可以了helloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworldhelloworld[root@Docker~]#
查看正在运行的容器
[root@Docker]#dockerps#列出所有运行中容器CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES607752360adfcentos:latest"/bin/bash-c'while…"AboutaminuteagoUpAboutaminutebrave_fermi
也可以使用短 ID 或 docker 实例的名字查看日志输出
[root@Docker~]#dockerlogs607752360adf或[root@Docker~]#dockerlogsbrave_fermi[root@Docker~]#dockerps-a#-a列出所有容器(包含沉睡/退出状态的容器)CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES607752360adfcentos:latest"/bin/bash-c'while…"4minutesagoUp4minutesbrave_fermi0a297ff99af8centos:latest"/bin/bash"7minutesagoExited(1)5minutesagoecstatic_yonathefb4af688330centos:latest"/bin/bash"9minutesagoExited(0)8minutesagoepic_mcclintock[root@Docker~]#dockerimages#列出所有本地镜像REPOSITORYTAGIMAGEIDCREATEDSIZEcentoslatest470671670cac4monthsago237MB例 3:杀死一个容器 比如:杀死一个正在后台运行的容器
查看要杀死容器的 ID
[root@Docker~]#dockerps-a#-a列出所有容器(包含沉睡/退出状态的容器);杀死ID为607752360adf的容器[root@Docker~]#dockerkill607752360adf#杀死一个容器607752360adf
查看结果
[root@Docker~]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES例 4:启动、停止、重启 container 容器实例
启动: run # 创建并运行 docker 实例
[root@Docker]#dockerrun-dcentos:latest/bin/bash-c"whiletrue;doechohelloworld;sleep1;done"
查看容器
[root@Docker~]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESbea2aaa70725centos:latest"/bin/bash-c'while…"4secondsagoUp3secondsflamboyant_keller
关闭容器
[root@Docker~]#dockerstopbea2aaa70725bea2aaa70725
查看
[root@Docker~]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES[root@Docker~]#dockerps-aCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESbea2aaa70725centos:latest"/bin/bash-c'while…"AboutaminuteagoExited(137)35secondsagoflamboyant_keller607752360adfcentos:latest"/bin/bash-c'while…"9minutesagoExited(137)3minutesagobrave_fermi0a297ff99af8centos:latest"/bin/bash"12minutesagoExited(1)10minutesagoecstatic_yonathefb4af688330centos:latest"/bin/bash"15minutesagoExited(0)13minutesagoepic_mcclintock[root@Docker~]#dockerstartbea2aaa70725bea2aaa70725[root@Docker~]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESbea2aaa70725centos:latest"/bin/bash-c'while…"2minutesagoUp31secondsflamboyant_keller[root@Docker~]#dockerrestartbea2aaa70725bea2aaa70725
删除指定 container : rm
[root@Docker~]#dockerrmbea2aaa70725Errorresponsefromdaemon:Youcannotremovearunningcontainerbea2aaa707259a80c474e7d43c5648af0a5cfe16c4e50470fb6c5c84a0490d8b.Stopthecontainerbeforeattemptingremovalorforceremove
解决:可以先把容器 1a63ddea6571 关闭,然后再删除或加-f 强制删除
[root@Docker~]#dockerrm-fbea2aaa70725bea2aaa70725
到此,关于“Docker的基本使用方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。