Docker学习笔记之进入容器Bash
我们在创建容器的时候,如果容器的命令(command)不是/bin/bash的时候,使用docker attach命令是会卡住进不去容器的bash shell的。如下图所示:

所以,这里记录一个可以进入容器bash的方法。
步骤1:首先确保容器是启动(running)状态,如果不是的请使用命令docker start <容器名/容器ID>启动容器;
步骤2:然后执行命令docker exec -i -t <容器名/容器ID> /bin/bash进入容器bash。
命令:
sudo docker start nginx-ubuntu-container
sudo docker exec -i -t nginx-ubuntu-container /bin/bash
  
可以看一下exec命令帮助文档描述,可以看到exec命令的使用方法是docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

顺便说下,按住CTRL+P+Q可以后台运行容器而不退出。
Docker学习笔记之进入容器Bash的更多相关文章
- docker学习笔记2:容器操作
		
一.列出主机上已经创建的容器 docker ps -a 二.创建交互式容器 命令: docker run -i -t ubuntu /bin/bash 其中-i -t 表示创建一个提供交互式shell ...
 - docker学习笔记2--对镜像/容器的命令操作
		
Docker启动一个Centos镜像 我们下载完成一个Centos镜像之后,开始启动 docker run -d -i -t <imageID> /bin/bash 这样就能启动一个一直停 ...
 - Docker学习笔记之为容器配置网络
		
0x00 概述 在互联网时代,网络已经成为绝大多数应用进行数据交换的主要通道,Docker 作为集群部署的利器,在网络支持上也下了许多功夫.功能丰富和强大,并不代表使用复杂,在 Docker 的封装下 ...
 - docker学习笔记之把容器commit成镜像
		
docker提供了两种镜像制作的方式,提高了使用的灵活性: 1.可以将更改后的容器提交,制作成镜像(这是接下来要说明的) 2.通过Dockerfile来制作镜像 下面通过一个例子来展示方法1. 本地有 ...
 - Docker学习笔记 - Docker容器内部署redis
		
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
 - Docker学习笔记之--.Net Core应用容器通过网桥连接Redis容器(环境:centos7)
		
上节演示通过应用容器连接sql server容器,连接:Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7) 本节演示安装 redis容器,通过网桥连接 先决 ...
 - Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(一)
		
上一节演示如何安装Docker,链接:Docker学习笔记之-在CentOS中安装Docker 本节演示 将.net core 3.1 部署到docker容器当中,并使用 Nginx反向代理,部署平台 ...
 - Docker学习笔记之--.Net Core项目容器连接mssql容器(环境:centos7)
		
前一节演示在docker中安装mssql,地址:Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7) 本节演示 .Net Core项目容 ...
 - docker学习笔记1 -- 安装和配置
		
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
 
随机推荐
- python 使用UUID库生成唯一ID
			
首先导包: import uuid uuid1(): # make a UUID based on the host ID and current time # 基于MAC地址,时间 ...
 - ADF 第四篇:管道的执行和触发器
			
Azure Data Factory 系列博客: ADF 第一篇:Azure Data Factory介绍 ADF 第二篇:使用UI创建数据工厂 ADF 第三篇:Integration runtime ...
 - STL——容器(Set & multiset)的迭代器
			
1.set.insert(elem); //在容器中插入元素. 2.set.begin(); //返回容器中第一个数据的迭代器. 3.set.end(); / ...
 - C++ 虚函数表与多态 —— 多态的简单用法
			
首先看下边的代码,先创建一个父类,然后在来一个继承父类的子类,两个类中都有自己的 play() 方法,在代码的第35-37行,创建一个父类指针,然后将子类地址引用赋值给父类,这时调用 P 指针的 pl ...
 - Linux安装Mysql8.0.11
			
0. 安装环境 1. 下载安装包 方式一:百度网盘下载 链接:https://pan.baidu.com/s/11t_JXUp-SXRaioNDvdltNg 提取码:uzyj 方式二:在线下载 1 ...
 - 【面试专栏】ArrayList 非线程安全案例并提供三种解决方案
			
1. 复现问题 import java.util.ArrayList; import java.util.List; import java.util.UUID; /** * 复现问题 * * @au ...
 - 总结 Visual Studio 2019 发布以来 XAML 工具的改进
			
不知不觉,Visual Studio 2019 已经出到 16.8 和 16.9 Preview 了.虽然每次更新都林林总总地一大堆新功能和改进,但关于 XAML 的内容总是,always,每次都只有 ...
 - linux里用户权限:~$,/$,~#,/#的区别与含义
			
$表明是非root用户登录,#表示是root用户登录,它们是终端shell的命令提示符几种常用终端的命令提示符 BASH: root账户: # ,非root账户: $KSH: root账户: # ...
 - Known快速开发框架
			
Known是一个基于.NET开发的快速开发框架,前后端分离,使用极少的第三方组件,开发简单快速,大部分代码可通过代码生成工具自动生成,非常适合单兵作战和小团队开发.前端UI是一个基于JQuery开发的 ...
 - C# Wpf 后台代码设定UIElement的Canvas位置属性值
			
后台in-code设定元件UIElement的Canvas位置属性的两种方法: 1.UIElement.SetValue()方法 uiElement.SetValue(Canvas.TopProper ...