- 浏览: 299738 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (298)
- Tomcat (3)
- ZooKeeper (1)
- Maven (11)
- opensource (1)
- DataBase (5)
- UML (8)
- linux (87)
- Java (32)
- 算法 (3)
- Redis (1)
- HBase (2)
- 产品 (1)
- 模板引擎 (1)
- Eclipse (10)
- JUnit (5)
- Log4j (8)
- XML (2)
- JSON (1)
- SpringMVC (23)
- Spring (24)
- TCP/IP (4)
- Windows (10)
- Web Service (1)
- 源码版本管理 (1)
- Word (1)
- Test (1)
- Mybatis (7)
- CentOS (2)
- 多线程 (2)
- Web (7)
- Servlet (3)
- JavaWeb (4)
- MySQL (7)
- 汇编语言 (2)
- linux Shell (4)
- GIT (4)
- Python (1)
- 并发 (4)
- 编程通用 (1)
- JavaScript (1)
- 异常 (3)
- 自动化部署 (1)
- 大数据 (1)
- hive (2)
- 文本编辑器 (2)
- MINA (0)
- intellij IDEA (9)
- masm (0)
- blockchain (1)
- docker (2)
- IDEA (0)
- GO (3)
- nginx (1)
- springBoot (3)
- Websocket (2)
- macOS (1)
最新评论
-
woodding2008:
ss –pl 可以查看监听方式启动的端口以及pid
根据端口查PID,根据PID查进程名称 -
masuweng:
恩很试用,也很常用。
linux 常用命令
========================================================
进入Docker容器的4种方式
========================================================
实际操作
root@ThinkPad-T450:/home/angie# ./connectDocker.sh orderer.example.com
容器ID:d8f8d32ed879
容器PID:18633
开始连接容器。。。
mesg: ttyname failed: No such file or directory
root@d8f8d32ed879:/# w
12:59:15 up 11:11, 0 users, load average: 0.32, 0.38, 0.40
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root@d8f8d32ed879:/# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 12:51 ? 00:00:00 orderer
root 19 0 0 12:59 ? 00:00:00 -bash
root 26 19 0 13:00 ? 00:00:00 ps -ef
root@d8f8d32ed879:/#
========================================================
参考的文章
http://blog.csdn.net/u010716706/article/details/60965101
当我们运行好docker容器之后常常需要进入docker容器内部进行一些操作:
1.docker本身提供了attach命令可以实现这一需求:
$ docker attach [容器名]
attach连接docker后,退出docker容器有两种方式:
1.1 按CTRL + D或者输入exit命令退出,这种方式会引起容器停止运行
1.2 先按CTRL +P 再按CTRL + Q退出,这种方式理论上不会引起容器停止运行,实际上还是偶尔引起容器停止运行,出现奇奇怪怪的问题。
所以,我打算介绍一种比较稳妥的方式。
2.利用util-linux包的nsenter命令连接docker容器
2.1 安装util-linux步骤
$ wget https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.1.tar.gz -c /usr/local/src
$ tar xvf util-linux-2.29.1.tar.gz
$ ./configure –without-ncurses
$ make #注意不要make install
$ cp nsenter /usr/local/bin/
2.2 编写连接脚本:connect.sh
#!/bin/sh
CONTAINER_NAME=$1
if [ ! -n "$CONTAINER_NAME" ];then
echo "请输入即将要登录的容器名称,例如要登录容器xiaoniuapp-api,请输入:./connect.sh xiaoniuapp-api"
else
CONTAINER_ID=`docker ps -a | grep $CONTAINER_NAME -w | awk '{print $1}'`
echo "容器ID:"$CONTAINER_ID
CONTAINER_PID=`docker inspect --format "{{ .State.Pid }}" $CONTAINER_ID`
echo "容器PID:"$CONTAINER_PID
echo "开始连接容器。。。"
nsenter --target $CONTAINER_PID --mount --uts --ipc --net --pid
fi
2.3 使用脚本
$ chmod u+x connect.sh
$ ./connect.sh [容器名]
示例如下:
[root@Dockerdeploy-app ~]# docker run -i -t --name mynginx nginx /bin/bash
root@063e449682f7:/##先按CTRL +P 再按CTRL + Q退出
[root@Dockerdeploy-app ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
063e449682f7 nginx "/bin/bash" 10 seconds ago Up 9 seconds 80/tcp, 443/tcp mynginx
[root@Dockerdeploy-app ~]# ./connect.sh mynginx
容器ID:063e449682f7
容器PID:1491
开始连接容器。。。
root@063e449682f7:/#
进入Docker容器的4种方式
========================================================
实际操作
root@ThinkPad-T450:/home/angie# ./connectDocker.sh orderer.example.com
容器ID:d8f8d32ed879
容器PID:18633
开始连接容器。。。
mesg: ttyname failed: No such file or directory
root@d8f8d32ed879:/# w
12:59:15 up 11:11, 0 users, load average: 0.32, 0.38, 0.40
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root@d8f8d32ed879:/# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 12:51 ? 00:00:00 orderer
root 19 0 0 12:59 ? 00:00:00 -bash
root 26 19 0 13:00 ? 00:00:00 ps -ef
root@d8f8d32ed879:/#
========================================================
参考的文章
http://blog.csdn.net/u010716706/article/details/60965101
当我们运行好docker容器之后常常需要进入docker容器内部进行一些操作:
1.docker本身提供了attach命令可以实现这一需求:
$ docker attach [容器名]
attach连接docker后,退出docker容器有两种方式:
1.1 按CTRL + D或者输入exit命令退出,这种方式会引起容器停止运行
1.2 先按CTRL +P 再按CTRL + Q退出,这种方式理论上不会引起容器停止运行,实际上还是偶尔引起容器停止运行,出现奇奇怪怪的问题。
所以,我打算介绍一种比较稳妥的方式。
2.利用util-linux包的nsenter命令连接docker容器
2.1 安装util-linux步骤
$ wget https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.1.tar.gz -c /usr/local/src
$ tar xvf util-linux-2.29.1.tar.gz
$ ./configure –without-ncurses
$ make #注意不要make install
$ cp nsenter /usr/local/bin/
2.2 编写连接脚本:connect.sh
#!/bin/sh
CONTAINER_NAME=$1
if [ ! -n "$CONTAINER_NAME" ];then
echo "请输入即将要登录的容器名称,例如要登录容器xiaoniuapp-api,请输入:./connect.sh xiaoniuapp-api"
else
CONTAINER_ID=`docker ps -a | grep $CONTAINER_NAME -w | awk '{print $1}'`
echo "容器ID:"$CONTAINER_ID
CONTAINER_PID=`docker inspect --format "{{ .State.Pid }}" $CONTAINER_ID`
echo "容器PID:"$CONTAINER_PID
echo "开始连接容器。。。"
nsenter --target $CONTAINER_PID --mount --uts --ipc --net --pid
fi
2.3 使用脚本
$ chmod u+x connect.sh
$ ./connect.sh [容器名]
示例如下:
[root@Dockerdeploy-app ~]# docker run -i -t --name mynginx nginx /bin/bash
root@063e449682f7:/##先按CTRL +P 再按CTRL + Q退出
[root@Dockerdeploy-app ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
063e449682f7 nginx "/bin/bash" 10 seconds ago Up 9 seconds 80/tcp, 443/tcp mynginx
[root@Dockerdeploy-app ~]# ./connect.sh mynginx
容器ID:063e449682f7
容器PID:1491
开始连接容器。。。
root@063e449682f7:/#
发表评论
-
libssl.so.10: cannot open shared object file: No such file or directory
2018-08-15 14:49 4343yum 安装不管用了,先执 ... -
sed 字符串替换
2018-04-03 19:15 827https://www.cnblogs.com/linux- ... -
Hyperledger Fabric v1.0.0 部署启动
2018-03-17 17:40 1196部署这个真是头大,昨晚搞几个小时都没有搞定,今天下午搞定 基 ... -
apt-get常用命令及工作原理
2018-03-12 20:17 540http://blog.csdn.net/mosquito_z ... -
Linux Shell 通配符、转义字符、元字符、特殊字符
2017-01-13 18:50 1726一、Linux shell通配符(wildcard) 通配 ... -
Linux单机TCP并发连接
2016-12-28 14:11 948http://blog.csdn.net/kobejayand ... -
单机最大tcp连接数
2016-12-28 13:50 561from: http://www.cnblogs.com/my ... -
linux后台运行和关闭、查看后台任务
2016-12-15 17:09 704from: http://www.cnblogs.com/k ... -
sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory
2016-12-15 17:07 439from http://myswirl.blog.163 ... -
Shell 脚本
2016-12-12 15:22 8411 如何在shell脚本中判断文件或者文件夹是否存在? if ... -
CentOS7 安装python 命令 : yum install python
2016-12-09 17:53 909CentOS7 安装python 命令 : yum insta ... -
linux 目录下的文件个数
2016-12-07 12:44 486linux里没有直接的命令来展示一个目录下的文件个数,可以通过 ... -
grep -v grep
2016-12-06 11:18 1146grep -v <**> <filename ... -
IT技术学习指导之Linux系统入门的4个阶段
2016-12-05 22:36 520http://www.cnbeta.com/articles ... -
Linux 命令參數帶&符合,需要轉義 \
2016-12-04 21:38 455比如新建文件夾 aaa&bbb 命令 mkd ... -
Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||
2016-12-04 21:35 822一、& 放在启动参数后面表示设置此进程为后台进程 ... -
CentOS 7.0 安装中文输入法
2016-12-04 00:33 544安装的时候没有设置,现在找到之后记录下: (我这个是 ... -
Linux下常用压缩格式的压缩与解压方法
2016-12-02 22:25 493日期:2005-01-20 来源: LinuxByte ... -
Shell脚本8种字符串截取方法总结
2016-12-02 19:56 484这篇文章主要介绍了Shell脚本8种字符串截取方法总结,每个方 ... -
CentOS 7自动以root身份登录gnome桌面
2016-11-29 18:31 2207from: http://blog.csdn.net/zd ...
相关推荐
从实践者的角度出发,以Docker和Kubernetes为重点,沿着“基本用法介绍”到“核心原理解读”到“高级实践技巧”的思路,一本书讲透当前主流的容器和容器云技术,有助于读者在实际场景中利用Docker容器和容器云解决...
Docker 容器入门与实践期末考试总复习 在本节总结中,我们将详细介绍 Docker 容器技术的基本概念、优点、架构、Namespace 和 Cgroup 等关键技术点,并总结 Docker 容器技术在实际应用中的价值。 容器技术解决了...
最近在工作时遇到一个问题,docker容器无法访问宿主机的redis,telent6379端口不通。 经排查发现,该服务器启用了防火墙,防火墙把6379的端口的访问授权给docker0网卡访问即可。 操作如下: firewall-cmd –...
本书从实践者的角度,在讲解Docker高级实践技巧的同时,深入到源代码层次,为读者梳理出Docker容器技术和基于Docker的容器云技术(如Kubernetes)的实现方法和设计思路,帮助读者理解如何在实际场景中利用Docker解决...
- 使用`cadvisor`:一个开源工具,能够更详细地收集Docker容器的资源使用情况,包括容器内部应用的指标。 3. **Prometheus Client Libraries**: - 在Docker容器内运行的应用程序可以使用Prometheus客户端库(如...
kubectl exec进入到docker容器中进行查看时发现,文件在容器中也是中文文件名显示异常。查看docker容器编码格式:执行locale命令;可以看到当前编码格式为POSIX,而这种编码格式不支持中文 解决办法:locale -a查
Docker 容器中 Tomcat 部署出现中文乱码解决方案 在 Docker 容器中部署 Tomcat 时,可能会遇到中文乱码的问题,这是由于 Docker 容器的 locale 设置导致的。在本文中,我们将介绍如何解决这个问题。 什么是 locale...
Docker 容器与容器云(第2版) PDF版本,带电子目录,结构清晰
"一种对Docker容器镜像实现离线增量更新的方法" Docker 容器镜像离线增量更新方法是指在不影响容器运行的情况下,对 Docker 容器镜像进行增量更新的方法。该方法可以提高 Docker 容器镜像的更新效率,减少更新过程...
docker容器与容器云的文档,有助于理解docker的知识。
然后,需要将容器连接到桥接网络: `docker run -it --name mycontainer --net mybridge centos:7` 四、 在容器内安装 Tomcat 服务 要在容器内安装 Tomcat 服务,需要使用以下命令: `docker exec -it ...
python脚本通过监控docker容器日志监控hyperledger fabric区块高度、共识时延信息 注意修改文件中数据库信息
2. 资源限制:Docker 容器的资源使用受到宿主操作系统的限制。 Docker 容器技术是一种轻量级的虚拟化技术,它可以提供快速、灵活和可靠的应用程序部署解决方案。 知识点: 1. 虚拟化技术分类:系统虚拟化和进程...
Hyperledger Fabric 搭建 mac and centos7 压缩包包含 1.boot2docker.iso version:17.09.1-ce 2.fabric 官方例子 3.mac and centos7 一键安装脚本
docker内部培训的PPT,简介了docker容器技术的强大。为什么要使用docker容器技术。
本文主要简单介绍 docker 容器与前置进程的关系,以及如何编写 Dockerfile/docker-compose.yml 优雅的让容器可以常驻运行。 docker 容器的生命周期是同容器中的前置进程相关在一起的,这也是我们平时可能会遇到一些...
docker容器中支持的中文字体
Hyperledger Fabric是Linux基金会发起的开源项目,是一个用于创建分布式账本技术(DLT)的框架,特别适合构建企业级区块链解决方案。它提供了一个模块化的架构,允许灵活的设计选择,如共识机制、智能合约(链码)...