Docker - docker run 后面的 bin/bash的作用
简单例子
docker run -it centos /bin/bash
首先,docker run -it centos 的意思是,为centos这个镜像创建一个容器
-it就等于 -i和-t,这两个参数的作用是,为该docker创建一个伪终端,这样就可以进入到容器的交互模式?(也就是直接进入到容器里面)
后面的/bin/bash的作用是表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill itself,这个/bin/bash就表示启动容器后启动bash。
复杂例子
原命令:
docker run --name optz_service -it -p 60003:60003 -v /opt/copt65:/opt/copt65 -v /app/optz_service/logs:/app/optz_service/logs -u appadmin -d optz_service:latest /bin/bash /app/optz_service/bin/startup.sh >/dev/null 2>&1 &
详细解析:
docker run --name optz_service //给容器命名 -it //打开一个交互式终端 -p 60003:60003 //容器内端口,映射到主机端口 -v /opt/copt65:/opt/copt65 //容器内路径,挂载到主机路径 -v /app/optz_service/logs:/app/optz_service/logs -u appadmin //指定执行命令时,所使用的用户 -d //后台运行容器,并返回容器ID optz_service:latest //镜像名:版本号 /bin/bash //启动容器后启动bash,docker容器必须要保持一个进程的运行, 要不然整个容器启动后就会马上kill itself /app/optz_service/bin/startup.sh //在bash里运行的命令 >/dev/null //丢弃输出信息 2>&1 //将标准错误消息流2,重定向到标准信息流1(但均会被丢弃) & //最后的&,让bash在后台执行
参考文献
原文链接:https://blog.csdn.net/persistencegoing/article/details/93713869
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-07-10 RabbitMQ - [高级] 死信队列
2021-07-10 RabbitMQ - [核心] 交换机 Exchanges + 广播类型