iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么用Shell命令启动Docker Container
  • 265
分享到

怎么用Shell命令启动Docker Container

2023-06-29 07:06:07 265人浏览 独家记忆
摘要

这篇文章主要介绍“怎么用shell命令启动Docker Container”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Shell命令启动Docker Container”

这篇文章主要介绍“怎么用shell命令启动Docker Container”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Shell命令启动Docker Container”文章能帮助大家解决问题。

linux虚拟机重启后,都要手动启动多个Docker Container,着实麻烦,使用Shell命令可以减去这个麻烦。

创建文件,添加可执行权限

touch startcontiner.shchomd +x startcontainer.sh

编写startcontainer.sh

#!/bin/sh                          #chkconfig: 35 90 80               #description: start docker containercontainerNames="mysql redis RabbitMQ monGo ZooKeeper"# 根据名称启动Docker Contianersfunction startContainer(){    sudo docker start $1}# 遍历containerNamesfor containerName in ${containerNames}do        echo "Container ${containerName} start"        startContainer ${containerName}done

启动并测试

./startcontainer.sh

PS:docker 批量启动项目 shell 脚本

Dockerfile

FROM java:8 VOLUME /tmp COPY blockchain-core-0.1.jar /project/app.jarCMD java -jar /project/app.jar

文件目录

docker/├── logs│   └── logs│       ├── block-chain-core│       │   ├── 2018-11-23│       │   │   ├── access.0.log│       │   │   ├── debug.0.log│       │   │   ├── detail.0.log│       │   │   ├── error.0.log│       │   │   ├── execute.0.log│       │   │   └── info.0.log│       │   └── 2018-11-26│       │       ├── access.0.log│       │       ├── debug.0.log│       │       ├── detail.0.log│       │       ├── error.0.log│       │       ├── execute.0.log│       │       └── info.0.log│       └── gateway-zuul│           ├── 2018-11-23│           │   ├── access.0.log│           │   ├── debug.0.log│           │   ├── detail.0.log│           │   ├── error.0.log│           │   ├── execute.0.log│           │   └── info.0.log│           └── 2018-11-26│               ├── access.0.log│               ├── debug.0.log│               ├── detail.0.log│               ├── error.0.log│               ├── execute.0.log│               └── info.0.log├── projects│   ├── blockchain-core│   │   ├── app.jar│   │   ├── blockchain-core-0.1.jar│   │   └── Dockerfile│   ├── eureka-server│   │   ├── Dockerfile│   │   └── eureka-server-1.0.jar│   └── gateway-zuul│       ├── app.jar│       ├── Dockerfile│       └── gateway-zuul-0.0.1.jar├── run

脚本

#!/bin/bash#serverList=("eureka-server" "gateway-zuul" "blockchain-core" "blockchain-order");#------------配置 start-------------# 项目目录projectsDir="/opt/docker/projects"# 日志输出目录logsDir="/opt/docker/logs"#------------配置 end-------------serverList=`ls ${projectsDir}`;commond=$1;serverName=$2;port=$3;# 启动服务方法 第一个参数为 服务名,第二个参数为 端口function startServer(){    echo "--------------启动项目开始:$1  $2"    serverCount=`docker ps -f status=exited | grep $1 |wc -l`;        # 判断是否已经启动过,且端口为默认端口        if [[ ${serverCount} > 0 && $2 == "" ]];then                echo "docker start 启动项目:$1"                docker start $1        else                 # 判断是否生成了镜像                imageCount=`docker images | grep $1 | wc -l`;                if [[ ${imageCount} > 0 ]];then                    echo "docker run 启动项目: $1"                    # 复制项目jar包为 app.jar                    currProjectDir=$projectsDir/$1                    cd $currProjectDir                    cp `ls | grep $1` "app.jar"                    # 执行命令                    if [[ $2 == "" ]];then                        echo "docker run  -d -v ${logsDir}:/opt -v $currProjectDir:/project  --name $1 $1 "                        docker run  -d -v ${logsDir}:/opt -v $currProjectDir:/project  --name $1 $1                        else                           echo "docker run  -d -p $2:$2 -v ${logsDir}:/opt -v ${currProjectDir}:/project --name $1_$2 $1 java -jar /project/app.jar --server.port=$2"                           docker run  -d -p $2:$2 -v ${logsDir}:/opt -v ${currProjectDir}:/project --name $1_$2 $1 java -jar /project/app.jar --server.port=$2                       fi                 else                     echo "生成 $1 项目镜像:$1"                                              cd "${projectsDir}/$1"                                          docker build -t $1 .                     # 再次调用该方法                     startServer $1 $2                fi        fi}# 根据项目名获取端口号 参数为项目名function getPort(){    tempProjectDirName=`ls $projectsDir | grep $1`    OLD_IFS="$IFS";        IFS="_"        arr=($tempProjectDirName)        IFS="$OLD_IFS"        echo ${arr[1]}    return ${arr[1]}}if  [[ ${commond} == "-help" ]];then     echo " "    echo "参数1:执行命令"    echo "        1. start    启动"    echo "        2. stop        停止"    echo "        3. restart    重启"    echo "参数2:服务名"    echo "        1.eureka-server        服务注册中心"    echo "        2.gateway-zuul        网关服"    echo "        3.blockchain-core    系统服务服"    echo "        4.blockchain-order    订单服"    echo "        5.all            全部"    exit;elif [[ ${commond} == "" || ${serverName} == "" ]];then     echo "错误:请传入启动参数!详情:-help"        exit; fi# 单个项目操作if [[ ${serverName} != "all" && ${commond} == "start" ]];then        startServer ${serverName} ${port}    elif [[   ${serverName} != "all" && ${commond} != "start" ]];then    echo "开始${commond}容器中的项目:${serverName}"    docker ${commond} `docker ps | grep ${serverName} | awk -F"        " '{print $1 }'`fi# 全部项目操作# IFS=";\n"if [[ ${serverName} == "all" && ${commond} == "start"  ]];then    for server in ${serverList[@]}    do        startServer ${server}         doneelif [[ ${serverName} == "all" && ${commond} != "start" ]]; then    for server in ${serverList[@]}    do        echo "开始 ${commond} 容器中的项目:${server}"        docker ${commond} `docker ps | grep ${serverName} | awk -F"        " '{print $1 }'`        donefiecho "执行完毕!"

关于“怎么用Shell命令启动Docker Container”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 怎么用Shell命令启动Docker Container

本文链接: https://www.lsjlt.com/news/323450.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用Shell命令启动Docker Container
    这篇文章主要介绍“怎么用Shell命令启动Docker Container”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Shell命令启动Docker Container”...
    99+
    2023-06-29
  • docker怎么查看容器启动命令
    本篇内容介绍了“docker怎么查看容器启动命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!eg:docker ps 查看正在运行的容器:...
    99+
    2023-07-05
  • linux下怎样用命令启动docker服务
    目录linux用命令启动docker服务linux环境中设置docker服务开机自启动docker服务设置开机自启动关闭docker服务开机自启动总结linux用 看截图吧,懒得说了。 1、先顺带提一个命令: # sys...
    99+
    2023-04-03
    linux命令 启动docker服务 linux docker服务
  • Shell命令启动DockerContainer的实现
    Linux虚拟机重启后,都要手动启动多个Docker Container,着实麻烦,使用Shell命令可以减去这个麻烦。 创建文件,添加可执行权限 touch startcontin...
    99+
    2024-04-02
  • docker容器自启动命令是什么
    本篇内容主要讲解“docker容器自启动命令是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker容器自启动命令是什么”吧!docker容器自启动命令可以通过增加参数来达到,服务重启后...
    99+
    2023-07-04
  • shell命令怎么在docker中执行
    这篇文章将为大家详细讲解有关shell命令怎么在docker中执行,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在docker中执行shell命令,需要在命令前增加sh -c,例如:dock...
    99+
    2023-06-14
  • Docker如何使用start命令启动容器
    小编给大家分享一下Docker如何使用start命令启动容器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用start命令启动...
    99+
    2024-04-02
  • centos7怎么用命令启动redis
    centos7用命令启动redis的方法:1、打开终端;2、输入命令切换到redis安装目录下的bin文件夹中;3、输入“./redis-server”命令直接启动redis即可。具体操作步骤:首先打开终端命令行模式。输入以下命令切换到re...
    99+
    2024-04-02
  • 怎么用Shell命令关闭不需要的随机启动服务
    本篇内容介绍了“怎么用Shell命令关闭不需要的随机启动服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux可以简单的通过一条she...
    99+
    2023-06-09
  • Docker启动常用容器命令及配置详解
    目录Docker 容器相关命令Docker 启动mysqlDocker 启动nginxDocker 启动redisDocker 启动rabbitmqDocker 启动KafkaDoc...
    99+
    2023-03-02
    Docker启动容器命令 Docker 启动nginx Docker 启动mysql
  • Shell echo命令怎么用
    本文小编为大家详细介绍“Shell echo命令怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Shell echo命令怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。echo命令是linux中最基础的...
    99+
    2023-06-27
  • docker如何获取容器的启动命令
    这篇文章主要介绍docker如何获取容器的启动命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如何获取容器的启动命令容器早已创建好,如何得知它的启动参数(数据挂载到哪)#假设通过如下命令启动了一个容器docker&...
    99+
    2023-06-14
  • shell read命令怎么用
    本篇内容介绍了“shell read命令怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!shell作为一门语言,自然也具有读数据的功能,...
    99+
    2023-06-27
  • docker diff命令怎么用
    这篇文章主要为大家展示了“docker diff命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“docker diff命令怎么用”这篇文章吧。docker diff当你运行了一个容器,但...
    99+
    2023-06-02
  • docker update命令怎么用
    小编给大家分享一下docker update命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!docker update当你 docker run 了之后却...
    99+
    2023-06-16
  • docker search命令怎么用
    这篇文章主要介绍了docker search命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。docker search这个命令可以帮助你在命令行中方便的搜索 Dock...
    99+
    2023-06-27
  • linux下redis怎么启动命令
    linux下redis启动命令:1、打开终端;2、输入“/usr/local/bin/redis-server”或“/home/data/redis-3.2.1/redis.conf ”命令启动redis即可。具体操作步骤:首先打开终端命令...
    99+
    2024-04-02
  • 怎么在Docker中使用Docker命令
    这篇文章主要介绍“怎么在Docker中使用Docker命令”,在日常操作中,相信很多人在怎么在Docker中使用Docker命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在Docker中使用Docke...
    99+
    2023-06-15
  • 用命令行启动mysql
    1、打开命令提示符并进入到mysql目录中的bin目录下**----** 进入命令提示符(通过win键+R键或者左下角直接搜索命令提示符打开), 在命令提示符中输入:cd mysql路径in (注意:...
    99+
    2023-09-03
    mysql 数据库 java erlang spring boot
  • Docker启动常用容器命令及配置方法是什么
    这篇文章主要介绍了Docker启动常用容器命令及配置方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker启动常用容器命令及配置方法是什么文章都会有所收获,下面我们一起来看看吧。Docker 容器...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作