在docker中执行linux shell命令的操作

 更新时间:2021年03月30日 11:07:47   作者:博客园  
这篇文章主要介绍了在docker中执行linux shell命令的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在docker中执行shell命令,需要在命令前增加sh -c,例如:

docker run ubuntu sh -c 'cat /data/a.txt > b.txt'

否则,指令无法被正常解析。

补充:【Docker应用】 docker中执行指定脚本(docker 下运行springboot应用)

【Docker应用】 docker中执行指定脚本

这里是执行spring boot的应用的实例:

1. 制作执行sh脚本的镜像文件(模板)

Dockfile
FROM vertigomedia/ubuntu-jdk8
RUN touch /root/app_start.sh
RUN echo "#!/bin/bash" > /root/app_start.sh
RUN echo "echo 111" >> /root/app_start.sh
RUN chmod a+x /root/app_start.sh
ENV TZ 'Asia/Shanghai'
ENV APP_FILE /root/app_start.sh
EXPOSE 8889
CMD $APP_FILE
#ENTRYPOINT ["/bin/sh", "-c", "$APP_FILE"]

2. 制作脚本文件(容器中要执行的脚本)

container.sh
#!/bin/bash
echo "test xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
java -jar -Xms500m -Xmx500m -Dspring.profiles.active=test-docker-1 /root/app.jar

3. 制作启动脚本(这里只是启动命令)

docker run -itd \
 --name test_container \
 --hostname test_container \
 --net test_net --ip 170.170.1.199 \
 --volume /root/container.sh:/root/app_start.sh \
 --volume /opt/test-1.0.0-SNAPSHOT.jar:/root/app.jar \
 --privileged=true \
 test:123 /bin/bash -c 'sh /root/app_start.sh'

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 详解Docker挂载本地目录及实现文件共享的方法

    详解Docker挂载本地目录及实现文件共享的方法

    本篇文章主要介绍了详解Docker挂载本地目录及实现文件共享的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Docker跨平台和环境部署的过程详解

    Docker跨平台和环境部署的过程详解

    Docker是一个开放源代码的容器化平台,它能够实现应用及其依赖的打包,从而实现跨平台和环境的快速部署,本文介绍了Docker的基本概念、优势和基本使用方法,包括安装、启动、构建镜像和部署应用等步骤
    2024-11-11
  • ubuntu22通过docker安装wechat启动后无界面的问题及解决方法

    ubuntu22通过docker安装wechat启动后无界面的问题及解决方法

    这篇文章主要介绍了ubuntu22通过docker安装wechat启动后无界面的解决方法,通过微信创建脚本发现一系列问题,最终在小编的努力下顺利解决,下面把解决过程分享给大家,需要的朋友可以参考下
    2022-07-07
  • Jenkins Docker静态agent节点的构建过程

    Jenkins Docker静态agent节点的构建过程

    这篇文章主要介绍了Jenkins Docker静态agent节点的构建,静态节点就是通过java -jar这条命令去启动起来就可以了,本文通过图文实例相结合给大家介绍的非常详细,需要的朋友可以参考下
    2021-10-10
  • docker 拉取镜像出错的问题解决

    docker 拉取镜像出错的问题解决

    当Docker拉取镜像遇到网络错误时,通常是因为镜像源无法访问,解决此问题可通过修改Docker的配置文件/etc/docker/daemon.json,设置一个可用的镜像加速地址,修改后重新加载配置并重启Docker服务即可,这样可以提高拉取速度和成功率,避免因网络问题导致的镜像拉取失败
    2024-10-10
  • 使用Docker安装向量数据库milvus并且安装图形化界面的方法

    使用Docker安装向量数据库milvus并且安装图形化界面的方法

    文章介绍了如何在Windows上使用Docker安装并配置Milvus向量数据库,包括启用WSL2、安装Ubuntu、配置Docker仓库、安装Milvus服务端和用户图形界面Attu,并提供了一个修改后的Dockerfile以提高Attu的安装速度,感兴趣的朋友一起看看吧
    2025-02-02
  • docker运行异构镜像详解

    docker运行异构镜像详解

    介绍了在不同CPU架构下运行Docker镜像时遇到的问题及解决方法,作者分享了由于银行使用鲲鹏系统(ARM架构)导致Docker容器运行失败的经历,解决方法包括启用`--platform`参数、安装`qemu-user-static`及`binfmt_misc`
    2024-12-12
  • docker已启动容器修改添加端口映射的两种方法

    docker已启动容器修改添加端口映射的两种方法

    最近工作中遇到一个问题,docker容器启动后怎么修改端口映射?通过查找相关资料解决了,这篇文章主要给大家介绍了关于docker已启动容器修改添加端口映射的两种方法,需要的朋友可以参考下
    2022-08-08
  • docker部署mysql和nginx服务的示例详解

    docker部署mysql和nginx服务的示例详解

    这篇文章主要为大家详细介绍了docker部署mysql和nginx服务的相关知识,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • Docker 制作镜像Dockerfile和commit操作

    Docker 制作镜像Dockerfile和commit操作

    这篇文章主要介绍了Docker 制作镜像Dockerfile和commit操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论