管理docker容器
获取镜像:
docker pull ubuntu
用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:
$ docker run -it ubuntu /bin/bash
各个参数解析:
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互
- ubuntu: ubuntu 镜像。
 - /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
 
runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world"
Hello world
run: 运行一个容器。
ubuntu:15.10 指定要运行的镜像,先从本地主机上查找镜像是否存在,如果不存在,就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo "Hello world": 在启动的容器里执行的命令
要退出终端,直接输入 exit:
root@ed09e4490c57:/# exit
启动容器(后台模式)
使用以下命令创建一个以进程方式运行的容器
runoob@runoob:~$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
后台运行
在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。
$ docker run -itd --name ubuntu-test ubuntu /bin/bash 注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。
docker attach #连接到正在运行中的容器
如果container当前在运行bash,CTRL-C自然是当前行的输入,没有退出;
如果container当前正在前台运行进程,如输出nginx的access.log日志,CTRL-C不仅会导致退出容器,而且还stop了。
attach带上--sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器。
docker attach 37d61466c69e \\注意:如果在stdin中exit,会导致容器的停止。
docker exec -it 37d61466c69e ps -ef \\远程执行容器中的命令
docker exec -it 37d61466c69e /bin/bash \\登录容器,执行exit不会导致容器停止。
查看容器详细信息:docker inspect 013f517d2c85
显示容器的详细地址:
sudo docker inspect 013f517d2c85 |grep IPAddres|cut -d '"' -f 4
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d53a0e426a7f ubuntu:latest "/bin/sh -c 'while..." 8 minutes ago Up 8 minutes pensive_newton
输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
状态有7种:
- created(已创建)
 - restarting(重启中)
 - running(运行中)
 - removing(迁移中)
 - paused(暂停)
 - exited(停止)
 - dead(死亡)
 
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
如果是应用容器,sshd服务不是必须的,如果是系统容器,sshd服务需要开启。在容器中启用sshd服务操作,进入容器后:
[root@86999be36110 /]#yum install net-tools
[root@86999be36110 /]# yum install openssh-server
[root@86999be36110 /]# mkdir -p /var/run/sshd
[root@86999be36110 /]# /usr/sbin/sshd -D
[root@86999be36110 /]# /usr/sbin/sshd -D &
取消pam登录限制,PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系 统中添加新的认证手段。
[root@86999be36110 /]# sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd
[root@86999be36110 ~]# cd /root
[root@86999be36110 ~]# ssh-keygen -t rsa
[root@86999be36110 ~]# vi /root/run-sshd.sh
#!/bin/bash
/usr/sbin/sshd -D
[root@86999be36110 ~]# exit
或
$ docker stop 86999be36110
管理docker容器的更多相关文章
- [docker] 管理docker容器中的数据
		
之前我们介绍了Docker的基本概念(前面的没翻译...),了解了如何使用Docker镜像进行工作,并且学习了网 络和容器之间的链接.这一节我们将讨论如何管理容器中及容器之间的数据. 我们将查看下面两 ...
 - 无需安装 vsftpd , 直接使用 FTP 来管理 docker 容器中的文件
		
无图无真相,先放个效果图: 背景 使用 docker 来跑一些服务很方便,但是有的时候想管理容器里面的文件却很麻烦 -- 一般常规做法有3种: 通过数据卷或数据卷容器的方式 启动容器的时候时候 ...
 - Docker容器管理——Docker容器常用命令
		
1.查看所有的容器 docker ps 2.查看运行的容器 docker ps -a 3.启动.停止.重启docker容器 docker start ... docker stop ... docke ...
 - docker-compose批量管理docker容器
		
# docker-compose编排工具 #批量管理(构建.启动容器) #centos7环境准备#安装docker-ce #安装docker-compose v1. sudo curl -o /usr ...
 - Docker系列四: 使用UI管理docker容器
		
一.什么是Portainer? Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容 ...
 - 拾遗:使用 systemd-journald 管理 Docker 容器日志
		
在 docker.service 文件中的 ExecStart 字段中,添加(或:docker run --log-driver=journald): --log-driver=journald \ ...
 - [CoreOS 转载] CoreOS实践指南(七):Docker容器管理服务
		
转载:http://www.csdn.net/article/2015-02-11/2823925 摘要:当Docker还名不见经传的时候,CoreOS创始人Alex就预见了这个项目的价值,并将其做为 ...
 - Docker 容器管理:rancher
		
Rancher:https://www.cnrancher.com/ 是一个开源的企业级全栈化容器部署及管理平台. 定位上和 K8s 比较接近,都是通过 web 界面赋予完全的 docker 服务编排 ...
 - 【docker专栏8】使用IDEA远程管理docker镜像及容器服务
		
使用命令行的方式管理服务器镜像及容器是运维人员最常用的方式,但是有的时候我们不得不远程操作docker或者是面向对docker并不熟悉的技术人员提供能力(配置管理员.测试人员),这种情况下图形界面就有 ...
 
随机推荐
- Spring Boot2.0之全局捕获异常
			
全局捕获异常,很明显的错误404返回给客户,很不好呀.整个web请求项目全局捕获异常,比如空指针直接返回给客户啊,那多操蛋呀~ 看这几个常用的注解: @ExceptionHandler 表示拦截异常 ...
 - dotnet core on Linux 环境搭建及入门demo
			
首先感谢张善友大大提供的腾讯云实验室链接(https://www.qcloud.com/developer/labs/list). 以下是整个搭建过程及简单demo实例 1.搭建 .NET Core ...
 - 无法远程连接阿里云的Mysql
			
问题描述:昨天使用阿里云安装了Mysql,无法远程连接,排除端口号错误.防火墙.Mysql权限问题后,最后发现是阿里云安全组规则限制问题: 解决方式: 1.访问阿里云控制台,实例-->管理 2. ...
 - input标签添加上disable属性在移动端字体颜色不兼容的解决办法。
			
input[disabled],input:disabled,input.disabled{ color: #999; -webkit-text-fill-color:#999; -webkit-op ...
 - MongoDB 使用经验笔记
			
bin下的mongod就是MongoDB的服务端进程,mongo就是其客户端,其它的命令用于MongoDB的其它用途如MongoDB文件导出等 启动方式: 1.直接启动,指定各项参数: /usr/lo ...
 - Java 的序列化Serializable接口介绍及应用
			
常看到类中有一串很长的 如 private static final long serialVersionUID = -4667619549931154146L;的数字声明.这些其实是对此类进行序列化 ...
 - HDU5692 Snacks
			
HDU5692 Snacks Problem Description 百度科技园内有n个零食机,零食机之间通过n−1条路相互连通.每个零食机都有一个值v,表示为小度熊提供零食的价值. 由于零食被频繁的 ...
 - Jquery通过ajax请求NodeJS返回json数据
			
最近看了NodeJS相关的,在网上查了下结合AJAX的应用,感觉应用前景还是不错的.为什么用这个组合呢? 1.NodeJS不需要安装,拷贝过去就可以使用,而环境变量可以只配置在当前cmd窗口,运行方便 ...
 - ORA-00119: invalid specification for system parameter REMOTE_LISTENER
			
环境说明: RAC 启动数据库报 ORA-00119: invalid specification for system parameter REMOTE_LISTENER . 检查 list ...
 - No overload for 'OnStartup' matches delegate 'System.Windows.StartupEventHandler'
			
No overload for 'OnStartup' matches delegate 'System.Windows.StartupEvent ...