Docker | 入门 & 基础操作
Dcoker 入门
确保docker 已经安装好了,如没有装好的可以参考:Docker | 安装
运行第一个容器
docker run -it ubuntu /bin/bash
docker run
:运行容器的命令。
-i
: 保证容器中的 STDIN
标准输入是开启的。
-t
:为容器分配置一个伪tty终端。
ubuntu
: 容器的镜像名称,如不指定版本号,则为最新稳定版本。
/bin/bash
: 指定终端的脚本解析器为 bash
。
在这个容器中,所有的操作和普通的 ubunt
机器一样,所有的操作都可以正常进行,并且docker
还会为这个容器分配 ip,可以通过: cat /etc/hosts
查看。
也可以安装软件:
当执行完操作后,我们可以通过 exit
退出。
容器命名
如果我们在使用命令时,一直使用 docker id
的话,会非常的不方便操作,随然docker
会为容器生成一个随机命名,但并不方便我们记忆,所以我们可以为我们创建的容器命名,命令:docker run --name ubuntu_test -it ubuntu /bin/bash
查看容器 & 启动容器
查看自己的所有容器,命令:docker ps -a
查看自己所有运行中的容器,命令:docker ps
启动已经停止运行的容器,命令:`docker start [docker name]|[docker id]
停止运行的容器,命令:`docker stop [docker name]|[docker id]
能过命令重新附着到运行的容器中,命令:docker attach [docker name]|[docker id]
创建守护式容器
我们在正常使用中,希望容器都可以一直运行一去,但是我们上面的容器,都是交互式容器,只要用户一退出,容器就自动关闭了,所以我们需要创建实护式的容器,当我们退出以后也可以一直运行下去。
docker run -d --name ubunut_docker_test ubuntu /bin/sh -c "while true;do echo hello world; sleep 1;done;"
查看容器中输出的日志,命令:docker logs [docker name]|[docker id]
我们也可以添加参数查看日志:
-f
:一直监控日志进行查看。
-t
:在日志每一行前面加上时间戳。
查看容器内部进程,命令:docker top [docker name]|[docker id]
在容器内部运行命令
我们可以在容器外面直接运行命令对容器内部进行操作。
docker exec -d [docker id]|[docker name] (common)
例如:
docker exec -d ubunut_docker_test mkdir /tmp/ubunut_docker_test
没有输出,说明已经执行成功了,但是日志无法输出,我们如果想要看效果的话,只能去容器内部查看。可以通过命令进入容器内部。
进入守护式容器内部
# 格式
docker exec -it [docker name]|[docker id] /bin/bash
docker exec -it ubunut_docker_test /bin/bash
查看容器的信息
我们平时,除了可以通过 docker ps
查看命令的大致信息外,我们还可以通过 docker inspect [docker name]|[docker id]
来查看单个容器的详细信息:
Docker 的基本操作
- 查看所有运行中的镜像:
docker ps
- 查看本地所有的镜像:
docker ps -a
- 运行镜像:
docker start 镜像名|镜像ID
- 停止镜像:
docker stop 镜像名|镜像ID
- 删除镜像:
docker rm 镜像名|镜像ID
- 得到所有的镜像ID
docker ps -a -q
- 运行所有镜像:
docker start $(docker ps -a -q)
- 停止所有镜像:
docker stop $(docker ps -a -q)
- 删除所有镜像:
docker rm $(docker ps -a -q)
细节决定成败!
个人愚见,如有不对,恳请扶正!
Docker | 入门 & 基础操作的更多相关文章
- Docker入门基础(一)
Docker入门基础 Linux只存在文件目录,不存在“盘”的概念 Dockers优点:方便部署环境.资源占用少(微服务) Docker的三大概念 镜像:类似虚拟机的镜像.用俗话说就是安装文件.容器: ...
- Docker 入门基础
Docker是一个能把开发的应用程序自动部署到容器的开源引擎.Docker是新的容器化技术,轻巧,易移植[Build Once, Configure Once And Run Anywhere].Do ...
- docker入门 基础命令 docker安装
docker入门 在学一门新知识的时候,超哥喜欢提问,why?what?how? wiki资料 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes ...
- mysql的入门基础操作
1.数据库的简单介绍 1.1 什么是数据库,就是一个文件系统,使用标准sql对数据库进行操作 1.2 常见的数据库 oracle 是oracle公司的数据库,是一个收费的大型的数据库 DB2,是IB ...
- docker入门、LXC、windows container 和 Hyper知识基础、实用情况
虚拟机与容器 很明显可以看出两者在操作系统级别上的隔离和进程上的隔离的区别,VM因为隔离级别更高明显更重. linux容器主要技术特点: 文件系统隔离:每个容器都有自己的root文件系统 进程隔离:每 ...
- Docker探索系列1之docker入门安装与操作
preface docker这种时髦的技术我接触的比较晚,如果不是公司在使用这项技术,估计还得会更晚接触.好了,说下我司现在docker使用的情况.docker在我司是用来跑web服务的,里面的web ...
- (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理
介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
随机推荐
- Java 在线/离线 文档
英文: Oracle 官网在线文档 Java SE 8 Oracle 官网在线文档 Java SE 9 & JDK 9 中文: Java 1.8: 中文 – 谷歌版 中文 – 有道版 中文 – ...
- 用webpack发布一个vue插件包
创建库 本来以为很简单,结果配置了webpack之后,运行build就报错了,似乎不认识es6语法,于是先后安装了几个包: @babel/core @babel/preset-env babel-lo ...
- Centos LInux 7.0 内核3.1 升级简化流程
Centos LInux 7.0 内核3.1 升级建华流程 1)#导入ELRepo软件仓库的公共秘钥rpm --import https://www.elrepo.org/RPM-GPG-KEY-el ...
- API接口测试
一.测试工具 二.测试方法 二.测试需要注意的点
- jmeter正则表达式介绍
分三个层次介绍: 1. jmeter正则表达式有什么作用? 2. 正则表达式在哪? 3. 正则表达式怎么用? 1. jmeter正则表达式有什么作用? 答:提取请求中返回的数据, 然后获取的数据放入其 ...
- 痞子衡嵌入式:在IAR开发环境下将关键函数重定向到RAM中执行的三种方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将关键函数重定向到RAM中执行的三种方法. 嵌入式项目里应用程序代码正常是放在 Flash 中执行的,但有时候也需要将 ...
- Redisson实战-BloomFilter
1. 简介 布隆过滤器是防止缓存穿透的方案之一.布隆过滤器主要是解决大规模数据下不需要精确过滤的业务场景,如检查垃圾邮件地址,爬虫URL地址去重, 解决缓存穿透问题等. 布隆过滤器:在一个存在一定数量 ...
- 1016 Phone Bills (25分)
复建的第一题 理解题意 读懂题目就是一个活,所以我们用观察输出法,可以看出来月份,以及时间和费用之间的关系. 定义过程 然后时间要用什么来记录呢?day hour minute 好麻烦呀..用字符串吧 ...
- Python之简单的神经网络
from sklearn import datasets from sklearn import preprocessing from sklearn.model_selection import t ...
- Redis如何实现分布式锁
今天我们来聊一聊分布式锁的那些事. 相信大家对锁已经不陌生了,我们在多线程环境中,如果需要对同一个资源进行操作,为了避免数据不一致,我们需要在操作共享资源之前进行加锁操作.在计算机科学中,锁(lock ...