docker笔记(3)—— 容器
操作环境:mac OS 10.14.6
docker版本:10.03.1
终端:iterm2 3.3
时间:2019年8月
容器相当于镜像的实例,镜像相当于只读模板,容器在镜像所有层级之上创建了一个可写层,所有操作都将在这一层级进行。
运行
$ docker run [参数] 镜像 [命令] [命令参数...]
# 执行命令, 执行后自动进入容器bash
$ docekr run -it ubuntu:latest bash
执行命令后,如果本地没有对应的镜像,docker会先到指定的仓库进行pull
, 默认为:hub.docker.com
使用命令docker run --help
获取所有的帮助
使用run
后docker执行的操作包括但不限于:
* 检查本地是否存在指定的镜像,不存在就从公有仓库下载
* 利用镜像创建并启动一个容器
* 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
* 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
* 从地址池配置一个 ip 地址给容器
* 执行用户指定的应用程序
* 执行完毕后容器被终止
添加参数-d
, 让容器进入后台运行,即守护模式
# 普通运行
$ docker run -it ubuntu echo "hello docker run"
# 后台运行
$ docker run -it -d ubuntu echo "hello docker background"
# 查看后台容器输出
$ docker logs <container> # 具体查看操作图
守护模式中的容器, 使用exec进入
docker exec [参数] 镜像 [命令] [命令参数...]
说明: 进入守护模式时,docker将返回容器完整ID
使用exec通过容器id进入容器内
查看容器
# 查看运行中的容器
$ docker ps
# 查看所有容器
$ docker ps -a
停止
$ docker stop [参数] 镜像 [镜像...]
# 新开一个终端,执行命令,停止ubuntu:latest
$ docker stop 4e7 # 通过使用容器的id停止容器
注意:通过id进行操作,需要输入ID的前3位及以上16进制字符
启动停止后的容器
$ docker start [参数] 镜像 [镜像...]
$ docker start 4e7 # 通过容器ID启动容器
保存容器的修改commit
不推荐使用commit
构建镜像,会造成层级文件的混乱,不知道什么文件被修改、被添加了,最主要是整个构建过程使用的命令是不可知的,由此生成的镜像被称为黑箱镜像,这样的镜像只有使用命令的人才知道具体使用什么命令。后续维护成本极高。
$ docker commit [选项] <容器> [<仓库名>[:<标签>]]
# 使用之前后台运行的ubuntu
$ docker commit --message 修改了什么 b15 zeryter-ubuntu:v1.0
说明: --message
添加修改说明
如果只是迁移容器而进行commit
构建镜像,有更好的办法export
& import
导出&导入
导出
docker export [选项] 容器
# 使用ubuntu容器的ID 将容器导出为 ubuntu.tar
docekr export ubuntu_ID > ubuntu.tar
# 另一种导出方式, 使用参数-o指定导出文件
docker export -o ubuntu.tar ubuntu_ID
导入
$ docker import [选项] 文件|文件URL|- [镜像名称[:标签]]
# 将导出为tar包的容器,导入时将保存为镜像,导入后使用images查看导入信息
导入tar包后,docker会将生成的镜像唯一ID返回
import导入包支持URL,docker将自动下载对应的包,其中包可以是.tar
, .tar.gz
, .tgz
, .bzip
, .tar.xz
, or .txz
。
删除&清理
$ docker rm [OPTIONS] CONTAINER [CONTAINER...]
rm只能删除已经停止的容器
docker笔记(3)—— 容器的更多相关文章
- Docker笔记--操作容器命令
Docker笔记--操作容器命令 创建容器 docker [container] create-- 创建容器,使用docker [container] create命令新建的容器处于停止状态,可以使用 ...
- Docker学习笔记之使用 Docker Compose 管理容器
0x00 概述 通过之前的介绍,我们已经基本掌握了构建.运行容器的方法,但这还远远不够,由于 Docker 采用轻量级容器的设计,每个容器一般只运行一个软件,而目前绝大多数应用系统都绝不是一个软件所能 ...
- Docker学习笔记——制作容器与容器概念
Docker能做些什么? 1.docker能够解决虚拟机能够解决的问题 2.隔离应用依赖 3.创建应用镜像并复制 4.创建容易分发的即启即用的应用 5.docker的想法是创建软件程序可移植的轻量容器 ...
- Docker笔记(六):容器管理
原文地址:http://blog.jboost.cn/2019/07/21/docker-6.html 容器是Docker中的另一核心概念,在Docker中,应用的运行都是在容器内进行的,容器则基于镜 ...
- docker笔记2--镜像容器基本使用
1 docker的安装 系统:centos7 (1)配置好yum (2)yum -y install docker (3)查看状态 systemctl status docker 2 docker镜像 ...
- 【应用容器引擎】Docker笔记
一.Docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上,也可以实现虚拟化.它是一个轻量级容器技 ...
- 四、【Docker笔记】Docker容器
容器是Docker的另一个核心概念,容器就是镜像的一个运行实例,只是它具有一个可写的文件层,而镜像是一个只读的文件. 一.创建容器 1.新建容器 我们可以使用 docker create 命令来创建一 ...
- Docker笔记一:Docker介绍
目录 什么是Docker? Docker的核心概念 Docker镜像命令 Docker容器命令 Docker实战 查看我的镜像 启动Redis Docker中国镜像加速 血与泪的教训 什么是Docke ...
- docker镜像与容器
目录 docker镜像与容器 概述 分层存储 镜像与容器 删除镜像与容器 将容器中的改动提交到镜像 慎用 docker commit--构建镜像推荐使用dockerfile docker镜像与容器 概 ...
随机推荐
- GLSLPROGRAM METALPROGRAM unity
https://docs.unity3d.com/Manual/SL-GLSLShaderPrograms.html unity里面可以直接写原生的shader 用相应的宏包起来 CGPROGRAM ...
- windows下常用cmd命令
CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本.文件系统版本)1. appwiz.cpl:程序和功能 2. calc:启动计算器 3. certmgr. ...
- [Algorithm] Find The Vowels
// --- Directions // Write a function that returns the number of vowels // used in a string. Vowels ...
- 享元模式(Flyweight)---结构型
1 基础知识 定义:提供了减少对象数量从而改善应用所需的对象结构的方式.特征:运用共享技术有效支持大量细粒度的对象. 本质:分离与共享. 使用场景: (1)如果一个应用程序使用了大量的细粒度对象,可以 ...
- python-解决pip安装速度慢的问题--豆瓣镜像
https://www.cnblogs.com/ZhangRuoXu/p/6370107.html https://blog.csdn.net/tianguiyuyu/article/details/ ...
- IP地址正则表达式的写法
IP地址的正则表达式写法 这里讲的是IPv4的地址格式,总长度 32位=4段*8位,每段之间用.分割, 每段都是0-255之间的十进制数值. 将0-255用正则表达式表示,可以分成一下几块来分别考虑: ...
- codeforces#1150D. Three Religions(dp+序列自动机)
题目链接: https://codeforces.com/contest/1150/problem/D 题意: 给出长度为$n$的字符串,和$q$次询问 每次询问是,给$x$宗教增加一个字符$key$ ...
- 如何用20行Python代码打造一个微信群聊助手?
今天要教大家一个黑科技,20行代码实现自己定制的微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,通过今天在自己的微信上有一大批好 ...
- 虚拟机扩展Linux根目录磁盘空间
简要扩展空间方法http://www.kwx.gd/CentOSApp/Xen-Centos6-Mounted-HardDrive.html 最近在VMware虚拟机上使用Centos,用着用着,发现 ...
- requests_html使用asyncio
import asyncio import functools from concurrent.futures.thread import ThreadPoolExecutor from reques ...