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 什么是编码? 人类能够识 ...
随机推荐
- tp phpexcel 导入后台访问方法
public function addall(){ $Water = M('Waterrate'); $config = array( 'maxSize' => 0, 'rootPath' =& ...
- solr(CVE-2019-0193)远程命令执行
影响版本 Apache Solr < 8.2.0 并且开启了DataImportHandler模块(默认情况下该模块不被启用) 安装 重启daoker 更新配置文件 systemctl dae ...
- azure bash: kubectl: command not found
[root@***]# az aks install-cliDownloading client to "/usr/local/bin/kubectl" from "ht ...
- 面试官:你的App卡顿过吗?你是如何监控的?
一.故事开始 面试官:平时开发中有遇到卡顿问题吗?你一般是如何监控的? 来面试的小伙:额...没有遇到过卡顿问题,我平时写的代码质量比较高,不会出现卡顿. 面试官:... 这回答似乎没啥问题,但是如果 ...
- netty系列之:文本聊天室
目录 简介 聊天室的工作流程 文本处理器 初始化ChannelHandler 真正的消息处理逻辑 总结 简介 经过之前的系列文章,我们已经知道了netty的运行原理,还介绍了基本的netty服务搭建流 ...
- 关于Tomcat服务器的笔记
javaWEB的概念: a)什么是 JavaWeb: JavaWeb 是指,所有通过 Java 语言编写可以通过浏览器访问的程序的总称,叫 JavaWeb. JavaWeb 是 ...
- awk-07-IO和printf语句
IO语句 1.getline 2.getline var 把a文件的行,追加到b文件的结尾 把 a 文件的行替换 b 文件的指定字段 把 a 文件的行替换 b 文件的对应字段 3.command | ...
- Pikachu-File Inclusion模块
一.概述 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 在PHP中,提供了:include(),inclu ...
- Android 9.0 默认输入法的设置流程分析
Android 输入法设置文章 Android 9.0 默认输入法的设置流程分析 Android 9.0 添加预置第三方输入法/设置默认输入法(软键盘) 前言 在上一篇文章 Android 9.0 ...
- Redis应用场景及缓存问题
1.应用场景 (1) 缓存 缓存机制几乎在所有的大型网站都有使用,合理地使用缓存不仅可以加快数据的访问速度,而且能够有效地降低后端数据源的压力.Redis 提供了键值过期时间设置,并且也提供了灵活 ...