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 什么是编码? 人类能够识 ...
随机推荐
- tp3 联表查询
联表查询D("column") ->field("{$DbPrefix}column.pid,{$DbPrefix}news.*") ->where ...
- 一文读懂Spring动态配置多数据源---源码详细分析
Spring动态多数据源源码分析及解读 一.为什么要研究Spring动态多数据源 期初,最开始的原因是:想将答题服务中发送主观题答题数据给批改中间件这块抽象出来, 但这块主要使用的是mq消息的方式 ...
- IDEA使用Tomcat时控制台乱码的解决方案>从零开始学JAVA系列
IDEA使用Tomcat时控制台乱码的解决方案 解决方案1,修改启动时虚拟机参数 解决方案2,修改idea的设置 解决方案3,修改idea配置文件 在最后添加一行 '-Dfile.encoding=U ...
- 【SpringCloud技术专题】「原生态Fegin」打开Fegin之RPC技术的开端,你会使用原生态的Fegin吗?(上)
前提介绍 Feign是SpringCloud中服务消费端的调用框架,通常与ribbon,hystrix等组合使用. 由于遗留原因,某些项目中,整个系统并不是SpringCloud项目,甚至不是Spri ...
- 获取浏览器中url的参数
例如: 浏览器的地址是:http://localhost:8080/src/views/moneyDetail?id=10 vue 获取浏览器的参数 获取id的参数:this.$route.query ...
- Python 机器学习实战 —— 无监督学习(下)
前言 在上篇< Python 机器学习实战 -- 无监督学习(上)>介绍了数据集变换中最常见的 PCA 主成分分析.NMF 非负矩阵分解等无监督模型,举例说明使用使用非监督模型对多维度特征 ...
- 说实话,Android开发月薪3W,谁不酸呢?
近期有个网友在某匿名区晒字节跳动Offfer,毕业一年月薪3W,引发众多读者羡慕,纷纷留言酸了.酸了.但进大厂的要求还是蛮高的,需要在技术实力上有一定的积累,今天给大家分享一份高质量笔记, 助力大家技 ...
- 【死磕 Java 基础】 — 谈谈那个写时拷贝技术(copy-on-write)
copy-on-write,即写时复制技术,这是小编在学习 Redis 持久化时看到的一个概念,当然在这个概念很早就碰到过(Java 容器并发有这个概念),但是一直都没有深入研究过,所以趁着这次机会对 ...
- Longhorn,Kubernetes 云原生分布式块存储
Longhorn 是用于 Kubernetes 的轻量级.可靠且功能强大的分布式块存储系统. Longhorn 使用容器(containers)和微服务(microservices)实现分布式块存储. ...
- Java课程设计 ssm电影售票选座管理系统 电影网站的网页设计与制作mysql
注意:此项目只截图部分功能,可评论区咨询查看项目全部功能演示 1.开发环境 开发语言:Java 后台框架:SSM(Spring+SpringMVC+Mybatis) 前端技术:HTML+CSS+Jav ...