使用shell脚本快速登录容器的实现步骤

当我已经安装好容器后,例如mysql,Redis等,想要快捷登录时,可以用shell脚本一键登录。

首先要写好要用的脚本,例如登录mysql容器后,我们要输入mysql-u root -p123456。我们把它直接写入sqlpasswd.sh中。

然后再把他复制到mysql容器里,docker cp sqlpasswd.sh mysql-test:/。因为进入容器后会开另外一个shell来执行这个脚本。如下,我们在后面接上bash xx.sh,可在容器中执行。

效果图:

虚拟机脚本代码:

#!/bin/bash
read -p "选择要进入的服务:
1.mysql:
2.redis:
3.nginx:" n

if [ $n == 1 ]
then
        echo "正在登录mysql"
        docker exec -it mysql-test bash sqlpasswd.sh

fi

if [ $n == 2 ]
then
        echo "正在登录redis"
        docker exec -it redis-test bash redis-cli.sh
fi

if [ $n == 3 ]
then
        echo "正在登录nginx"
        docker exec -it nginx-test bash
fi

sqlpasswd.sh:(记得要从虚拟机复制到容器中:docker cp sqlpasswd.sh mysql-test:/)

#!/bin/bash
mysql -u root -p123456

到此这篇关于使用shell脚本快速登录容器的实现步骤的文章就介绍到这了,更多相关shell登录容器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • shell脚本无密码登录 expect的使用方法详解

    shell脚本无密码登录 expect的使用方法详解 今天需要做一个定时任务脚本将最新的数据包文件传到远程的服务器上,虽然有密钥但也是要求输入密码的那种,所以只能另想办法实现让脚本自动输入密码了. 从网上查到使用expect可以,简单研究了一下,效果不错. 因为我的操作系统没有安装expect,所以直接"yum -y install expect",你可以根据你的操作系统安装expect,或者源码编译. 安装好之后就可以使用了,这里有几种方法: 一.单独写一个脚本 如 auto_scp

  • Shell脚本实现自动输入密码登录服务器

    使用Linux的程序员对输入密码这个举动一定不陌生,在Linux下对用户有严格的权限限制,干很多事情越过了权限就得输入密码,比如使用超级用户执行命令,又比如ftp.ssh连接远程主机等等,如下图: 那么问题来了,在脚本自动化执行的时候需要输入密码怎么办?比如你的脚本里有一条scp语句,总不能在脚本执行到这一句时手动输入密码吧. 针对于ssh或scp命令,可能有人会回答是建立信任关系,关于建立ssh信任关系的方法请自行百度Google,只需要两行简单的命令即可搞定,但这并不是常规的解决方案,如果是

  • Shell脚本实现检查服务器安全状态(用户、登录IP、防火墙检查)

    说明:大家平时对Linux服务器安全主要是对系统用户的检查,登陆服务器IP检查,以及防火墙状态检查! 1.需要把正确系统用户名存储在/root/liu_shell/local_user.txt文件中,然后进行比较! 2.对登陆IP判断是不是以192.168.1和192.168.2开头的IP为正常IP! 3.判断iptables状态! 复制代码 代码如下: #!/usr/bin/python #coding=utf-8 import sys,os,re,socket host=str(socket

  • shell脚本实现ssh自动登录功能分享

    文件名:ssh_auto_login 复制代码 代码如下: #!/usr/bin/expect### ssh模拟登陆器## @author zhiyuan <hzyhouzhiyuan艾特gmail.com>##if {$argc<4} { puts "Error params: $argv" puts "Expect params :user passwd ip port [translate_id]" exit 1} set default_p

  • Shell脚本美化登录界面装饰图(含农历)

    今天同事闲得无聊,要我帮忙在linux登录页面里加点他认为很独特的东西,看了下他发的东西,对他表示很无语,下面来看看吧. 脚本1: cat clcal.sh #!/bin/bash # show Chinese lunisolar calender. # 2011/11/24 # # Licensed under GPL version 3 # #日期数据 {{{ # calendar_data format: # +--------+---------+--------------+-----

  • 更改linux用户登录shell的操作方法

    1.查看机器安装了哪些shell? 有两种方法可以查看. 第一种: [rocrocket@wupengchong ~]$ chsh -l  /bin/sh /bin/bash /sbin/nologin /bin/zsh 第二种: [rocrocket@wupengchong ~]$ cat /etc/shells  /bin/sh /bin/bash /sbin/nologin /bin/zsh 其实chsh -l也是来查看这个文件. 2.查看当前正在使用的shell是哪个? [rocrock

  • Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享

    环境: ssh server: 192.168.100.29  server.example.com ssh client: 192.168.100.30  client.example.com 通过root用户建立秘钥认证实现SHELL脚本管理,分发,部署 首先client端创建秘钥对,并将公钥分发给需要登录的SSH服务端 注:公钥相当于锁,私钥相当于钥匙,我们这里相当于在客户端创建一对钥匙和锁,想要做到SSH免密码登录,就相当于我们将锁分发到服务端并装锁,然后客户端就可以利用钥匙开锁. 一.

  • 实现shell终端代码分享(可用户登录 实现系统命令)

    复制代码 代码如下: #include"apue.h" int userlogin(struct passwd **); int main(){ int ret,i=0; long ret_cwd; struct passwd *pw; char buf[128],hostname[16],usercwd[128]; char *ptmp1; do{  ret = userlogin(&pw); }while(ret != 1); getchar(); while(1){//t

  • 使用shell脚本快速登录容器的实现步骤

    当我已经安装好容器后,例如mysql,Redis等,想要快捷登录时,可以用shell脚本一键登录. 首先要写好要用的脚本,例如登录mysql容器后,我们要输入mysql-u root -p123456.我们把它直接写入sqlpasswd.sh中. 然后再把他复制到mysql容器里,docker cp sqlpasswd.sh mysql-test:/.因为进入容器后会开另外一个shell来执行这个脚本.如下,我们在后面接上bash xx.sh,可在容器中执行. 效果图: 虚拟机脚本代码: #!/

  • shell脚本快速创建、格式化、挂载新添加的磁盘实现方法

    一.通过管理员选择创建.格式化.挂载新添加的磁盘脚本 #! /bin/bash echo "==============================" PS3="chose which disk you want to create:" select W in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit do case $W in sda) fdisk -l /dev/sda break;; sd[b-z]) echo &

  • shell脚本快速创建格式化磁盘与详细操作步骤

    这篇文章给大家介绍如何利用shell脚本实现对一个磁盘进行分区格式化挂载,具体内容如下所示: 查看当前磁盘分区状况 查看当前磁盘的一个分区状况,使用命令:fdisk -l fdisk -l //查看磁盘信息 lsblk 让硬盘进入分区模式 fdisk /dev/sdb 命令(输入 m 获取帮助): m //打印选项菜单 添加新的分区: 命令(输入 m 获取帮助):n //添加一个分区 选择分区类型: Select (default p): e //输入e表示创建扩展分区 分区数量: 分区号 (1

  • 详解Shell脚本控制docker容器启动顺序

    1.遇到的问题 在分布式项目部署的过程中,经常要求服务器重启之后,应用(包括数据库)能够自动恢复使用.虽然使用docker update --restart=always containerid能够让容器自动随docker启动,但是并不能保证是在数据库启动之后启动,如果数据库未启动,那么将导致应用启动失败;网上还有一种解决方法是通过docker-compose容器编排来控制启动顺序,这个博主研究的比较少. 2.解决思路 使用Shell脚本来控制,思路大致如下 探测数据库端口来检验数据库是否启动成

  • 用Shell脚本快速搭建Ubuntu下的Nodejs开发环境

    nodejs的确是很火,以前倒腾过,但是从来没有认真记录下什么.在ubuntu下搭建它的开发环境尝尝鲜,有一个捷径,它能让系统自动帮你安装所需要的东西,我们生成一段shell脚本,让它来完成以下工作: 安装 git下最新的node,node包管理器,Forever和Cloud9IDE工具(可选),mongodb 10gen:注:脚本的正常运行需要比较新版本的Ubuntu,而且需要联网,因为它会连接网络去下载所有的依赖包顺序安装. 1.脚本代码: 复制代码 代码如下: #!/bin/shecho

  • shell脚本根据进程查找指定容器的方法

    当我们在一台docker服务器上使用top命令定位出一个占用资源比较高的进程,如何发现它属于哪一个容器. 1.首先获取进程pid 2.使用docker top命令查找容器pid docker top 容器命或容器id 当docker 容器过多时,一个一个排查对比费事费力,这里有一个脚本可以快速查找 #!/bin/bash #将需要查找的pid输入$1变量 #将所有容器的pid导入变量a a=`docker ps -a |sed -n '1!p'|awk '{print $1}'` #将容器id循

  • 详解Linux使用shell+expect远程登录主机

    详解Linux使用shell+expect远程登录主机 最近使用Ubuntu系统想远程登录自己的vps主机,但是感觉自带的远程登录软件不太好使.于是乎想着怎么使用shell脚本来登录,于是Google之后整理了一下,记录一下,方便以后用到. 1.准备工作:安装expect for Ubuntu sudo apt-get update sudo apt-get install expect for Centos yum install expect 2.新建脚本粘贴以下内容 #!/usr/bin/

  • 如何使用Shell脚本掩盖Linux服务器上的操作痕迹(推荐)

    使用Shell脚本在Linux服务器上能够控制.毁坏或者获取任何东西,通过一些巧妙的攻击方法黑客可能会获取巨大的价值,但大多数攻击也留下踪迹.当然,这些踪迹也可通过Shell脚本等方法来隐藏. 寻找攻击证据就从攻击者留下的这些痕迹开始,如文件的修改日期.每一个 Linux 文件系统中的每个文件都保存着修改日期.系统管理员发现文件的最近修改时间,便提示他们系统受到攻击,采取行动锁定系统.然而幸运的是,修改时间不是绝对可靠的记录,修改时间本身可以被欺骗或修改,通过编写 Shell 脚本,攻击者可将备

随机推荐