docker?run?-d和docker?run?-it的區(qū)別詳解
docker run -it
- i : interactive 代表交互
- -t : tty 分配偽 TTY
測(cè)試不帶前臺(tái)進(jìn)程的,例如centos/ubuntu
> docker run -it ubuntu root@a30a87e0e065:/# exit exit > docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
我們發(fā)現(xiàn)容器已經(jīng)退出了
> docker run -it ubuntu root@a30a87e0e065:/# 輸入Ctrl + P + Q > docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e51e423ac575 ubuntu "bash" 10 seconds ago Up 10 seconds romantic_franklin
發(fā)現(xiàn)容器不會(huì)退出
測(cè)試帶前臺(tái)進(jìn)程的,例如redis
> docker run -it redis
1:C 26 Nov 2022 15:15:37.357 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 26 Nov 2022 15:15:37.357 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=1, just started
a config file use redis-server /path/to/redis.conf
1:M 26 Nov 2022 15:15:37.358 * monotonic clock: POSIX clock_gettime
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 6.2.6 (00000000/0) 64 bit
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 1
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | https://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
1:M 26 Nov 2022 15:15:37.358 # Server initialized
1:M 26 Nov 2022 15:15:37.358 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
1:M 26 Nov 2022 15:15:37.358 * Ready to accept connections
# 輸入Ctrl + P + Q
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14cef5be594b redis "docker-entrypoint.s…" 15 seconds ago Up 14 seconds 6379/tcp silly_wright
> docker run -it redis
1:C 26 Nov 2022 15:22:49.890 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 26 Nov 2022 15:22:49.890 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
1:M 26 Nov 2022 15:22:49.891 * monotonic clock: POSIX clock_gettime
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 6.2.6 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 1
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | https://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
1:M 26 Nov 2022 15:22:49.891 # Server initialized
1:M 26 Nov 2022 15:22:49.891 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
1:M 26 Nov 2022 15:22:49.891 * Ready to accept connections
exit #這里沒有反應(yīng),我們繼續(xù)Ctrl + C
^C1:signal-handler (1669476186) Received SIGINT scheduling shutdown...
1:M 26 Nov 2022 15:23:06.123 # User requested shutdown...
1:M 26 Nov 2022 15:23:06.123 * Saving the final RDB snapshot before exiting.
1:M 26 Nov 2022 15:23:06.130 * DB saved on disk
1:M 26 Nov 2022 15:23:06.130 # Redis is now ready to exit, bye bye...
> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8668b2bf13b1 redis "docker-entrypoint.s…" 24 seconds ago Exited (0) 7 seconds ago ecstatic_lehmann總結(jié):
-it 使用交互方式運(yùn)行,進(jìn)入容器查看內(nèi)容
1.當(dāng)運(yùn)行的鏡像沒有前臺(tái)進(jìn)程。
exit #run進(jìn)去容器,exit退出,容器停止
Ctrl+P+Q # run進(jìn)去容器,ctrl+p+q退出,容器不停止
1.當(dāng)運(yùn)行的鏡像有前臺(tái)進(jìn)程。
exit #用exit無效,使用Ctrl + C ,容器會(huì)停止
Ctrl+P+Q # run進(jìn)去容器,ctrl+p+q退出,容器不停止
docker run -d
-d : detach 表示后臺(tái)運(yùn)行
測(cè)試不帶前臺(tái)進(jìn)程的,例如centos/ubuntu
> docker run -d ubuntu > docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0210648ee10f ubuntu "bash" 34 seconds ago Exited (0) 32 seconds ago jolly_wright
我們發(fā)現(xiàn)容器啟動(dòng)后會(huì)立馬退出
測(cè)試帶前臺(tái)進(jìn)程的,例如redis
> docker run -d redis > docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3adf2698b224 redis "docker-entrypoint.s…" 5 seconds ago Up 4 seconds 6379/tcp vigilant_agnesi
我們發(fā)現(xiàn)容器不會(huì)退出
總結(jié):
Docker容器后臺(tái)運(yùn)行,就必須有一個(gè)前臺(tái)進(jìn)程.
容器運(yùn)行的命令如果不是那些一直掛起的命令(比如運(yùn)行top,tail),就是會(huì)自動(dòng)退出的。
docker run -d ubuntu tail -f /dev/null # 這種情況就不會(huì)退出了
總結(jié)
到此這篇關(guān)于docker run -d和docker run -it的區(qū)別詳解的文章就介紹到這了,更多相關(guān)docker run -d和docker run -it區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用docker部署java項(xiàng)目運(yùn)行環(huán)境的實(shí)現(xiàn)步驟
本文主要介紹了使用docker部署java項(xiàng)目運(yùn)行環(huán)境的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
docker自定義網(wǎng)絡(luò)從入門到實(shí)踐
Docker 網(wǎng)絡(luò)模式?jīng)Q定了容器之間、容器與宿主機(jī)之間的通信方式,掌握網(wǎng)絡(luò)機(jī)制是理解容器互聯(lián)互通的關(guān)鍵,本文給大家介紹docker自定義網(wǎng)絡(luò)從入門到實(shí)踐,感興趣的朋友跟隨小編一起看看吧2025-10-10
解決Docker鏡像拉取超時(shí)及優(yōu)化網(wǎng)絡(luò)配置的方法(failed to do request
在使用 Docker 構(gòu)建和部署應(yīng)用時(shí),拉取鏡像是一個(gè)關(guān)鍵的步驟,然而,在一些網(wǎng)絡(luò)環(huán)境中,特別是企業(yè)內(nèi)部網(wǎng)或受限網(wǎng)絡(luò)環(huán)境中,可能會(huì)遇到 Docker 鏡像拉取失敗或超時(shí)的問題,這篇博客將詳細(xì)探討如何應(yīng)對(duì) Docker 鏡像拉取超時(shí)的問題,需要的朋友可以參考下2024-11-11
docker容器設(shè)置本地時(shí)間和本地時(shí)區(qū)的實(shí)現(xiàn)方法
Docker容器通過-eTZ設(shè)置時(shí)區(qū),但部分程序如cron依賴本地時(shí)間文件,需手動(dòng)修改/etc/localtime軟鏈接指向正確時(shí)區(qū),下面就來具體介紹一下,感興趣的可以了解一下2025-07-07
對(duì)Docker-java項(xiàng)目進(jìn)行jvm調(diào)優(yōu)-內(nèi)存方式
本文詳細(xì)介紹了如何進(jìn)入Docker容器并分析Java進(jìn)程的內(nèi)存使用情況,通過使用jps和jstat工具,可以查看java進(jìn)程列表及內(nèi)存池容量,討論了設(shè)置JVM參數(shù)-Xmx和-Xms相等的重要性,以避免堆內(nèi)存的頻繁調(diào)整,此外,還探討了FullGC觸發(fā)條件和元空間的配置2024-09-09
通過Docker為本地DeepSeek-r1部署WebUI界面的完整教程
本文詳細(xì)介紹了如何通過Docker安裝并配置OpenWebUI,一個(gè)功能豐富的自托管Web用戶界面,用于與大型語言模型交互,文章步驟包括安裝Docker、配置WSL2、使用dockerrun命令部署OpenWebUI,并提供了詳細(xì)的命令解釋和部署結(jié)果,需要的朋友可以參考下2025-02-02
Docker環(huán)境運(yùn)行Vue項(xiàng)目全過程
這篇文章主要介紹了Docker環(huán)境運(yùn)行Vue項(xiàng)目全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-06-06

