Docker容器服务(三)
一、创建容器
容器是Docker的另一个核心概念。
简单地说,容器是镜像的一个运行实例,所不同的是,它带有额外的可写文件层。
1.1创建一个容器
使用docker create命令创建的容器处于停止状态,需要执行docker start来启动它。
# docker create -it centos
# docker start nervous_neumann

1.2 新建并启动容器
启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态的容器重启启动。使用docker run命令,等价于先执行docker create,再执行docker start命令。
[root@--- ~]# docker run -it --name my_centos centos /bin/bash
[root@e827685ac394 /]# ps
PID TTY TIME CMD
pts/ :: bash
pts/ :: ps
-i:以交互的模式运行容器
-t:为容器分配一个伪终端
--name:为容器起一个名字
/bin/bash:运行bash命令进入容器操作
1.3 退出容器
对于所创建的bash容器,当使用exit命令退出之后,该容器就自动处于终止状态,需要再执行docker start 启动容器。

若退出bash时,不退出容器则使用快捷键 ctrl + pq

1.4 以守护模式运行centos镜像,如果本地没有镜像的话,则先去默认的仓库下载镜像文件。
-d:以守护模式,容器进入后台运行
# docker run -d --name web-server nginx

二、终止、启动容器
docker stop web-server
docker start web-server
三、进入容器的方法
3.1 使用exec命令
docker exec -it web-server /bin/bash
3.2 使用accach命令
当多个窗口同时attach到一个容器时,所有的窗口都会同步显示。当某个窗口阻塞时,其它窗口也无法进行操作。
docker attach my-centos
3.3 使用nsenter命令
nsenter工具在util-linux包2.23版本后包含。
需要先获取容器的PID然后再进入容器中
# PID=$(docker inspect --format {{.State.Pid}} my-centos)
# nsenter --target $PID --mount --uts --ipc --net --pid

三、删除容器
# docker rm my-centos # 删除终止状态的容器
# docker rm -f web-server # 强制删除运行状态的容器,-v 删除容器挂载的数据卷
Docker容器服务(三)的更多相关文章
- Docker容器互访三种方式
我们都知道docker容器之间是互相隔离的,不能互相访问,但如果有些依赖关系的服务要怎么办呢.下面介绍三种方法解决容器互访问题. 方式一.虚拟ip访问 安装docker时,docker会默认创建一个内 ...
- Docker容器服务发现方案
一. 目的 在服务在容器中部署时,外部调用服务需要知道服务接口ip及端口号,这样导致部署时需要配置,从而增加部署的困难.本文档主要介绍如何使用ningx反向代理和consul进行自动化服务发 ...
- 远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_181 我们知道,奉行长期主义的网络公司,势必应在软件开发流程管理体系上具备规范意识,即代码提交有CR(CodeReview),功能 ...
- Docker容器(三)——容器端口映射
(1).容器端口映射 容器的端口映射用到了-p选项,-p [物理机端口]:[容器实例端口] 让centos:httpd运行在后台 [root@youxi1 ~]# docker run -d -p 8 ...
- 什么是Docker容器?(全面了解使用)
一:为什么需要Docker容器? 1.引入 1.1麻烦的环境部署 1.在软件开发中,最麻烦的事情之一就是环境配置.在正常情况下,如果要保证程序能运行,我们需要设置好操作系统,以及各种库和组件的安装. ...
- docker compose 服务启动顺序控制
概要 docker-compose 可以方便组合多个 docker 容器服务, 但是, 当容器服务之间存在依赖关系时, docker-compose 并不能保证服务的启动顺序. docker-comp ...
- HyperLedger/Fabric SDK使用Docker容器镜像快速部署上线
HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...
- [CoreOS 转载] CoreOS实践指南(七):Docker容器管理服务
转载:http://www.csdn.net/article/2015-02-11/2823925 摘要:当Docker还名不见经传的时候,CoreOS创始人Alex就预见了这个项目的价值,并将其做为 ...
- 微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发.部署.运维管理.持续开发持续集成的流程 ...
随机推荐
- 蓝桥杯dfs搜索专题
2018激光样式 #include<bits/stdc++.h> using namespace std; /* dfs(i) 第i个激光机器 有两种选择:vis[i-1] == 0 时 ...
- Mybatis环境搭建(二)
1. 创建Maven Project,选择war,修改pom.xml <properties> <!-- JDK版本 --> <java.version>1.8&l ...
- MongoTemplate 分组分页复合条件查询
一.前言 最近项目使用MongoDB作为数据主要存取的地方 又是第一次接触MongoDB,也是踩了不少坑... 维护数据无非就是增删改查,而里面最复杂的就是查询了 所以来总结一下有关MongoDB的查 ...
- 机器学习之线性回归以及Logistic回归
1.线性回归 回归的目的是预测数值型数据的目标值.目标值的计算是通过一个线性方程得到的,这个方程称为回归方程,各未知量(特征)前的系数为回归系数,求这些系数的过程就是回归. 对于普通线性回归使用的损失 ...
- Python中的赋值、深拷贝与浅拷贝(内存地址)
Python中的赋值.深拷贝与浅拷贝(内存地址) 1.python中的可变对象与不可变对象 (1) 可变对象:dict,list def dict_test(): a = {} b = a print ...
- docker 通过中间镜像加速部署
概要 实施 修改前的实施时间 制作编译用的镜像 测试修改后的实施时间 概要 使用 docker 打包镜像的时候, 每次耗费时间最多的就是 docker build 的过程. 特别是对于前端工程的打包, ...
- python生成多维数组方法总结(多维创建有问题的情况)
1.一维 list1=[]* #[,,,,] list2=np.arange() #[,,,,] 2.二维(注意) list2=[[]*]* 这种创建是有问题的!! print(list2)list2 ...
- vue自定义事件---拖拽
margin布局拖拽 Vue.directive('drag', { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.qu ...
- 从零到一手写基于Redis的分布式锁框架
1.分布式锁缘由 学习编程初期,我们做的诸如教务系统.成绩管理系统大多是单机架构,单机架构在处理并发的问题上一般是依赖于JDK内置的并发编程类库,如synchronize关键字.Lock类等.随着业务 ...
- Python getopt 模块
Python getopt 模块 getopt模块,是配合sys.argv使用的一个扩展.他可以接收终端的参数.格式扩展为“-n” 或 “--n”两种类型,下面是具体解释. 使用 improt get ...