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 | 入门 & 基础操作的更多相关文章

  1. Docker入门基础(一)

    Docker入门基础 Linux只存在文件目录,不存在“盘”的概念 Dockers优点:方便部署环境.资源占用少(微服务) Docker的三大概念 镜像:类似虚拟机的镜像.用俗话说就是安装文件.容器: ...

  2. Docker 入门基础

    Docker是一个能把开发的应用程序自动部署到容器的开源引擎.Docker是新的容器化技术,轻巧,易移植[Build Once, Configure Once And Run Anywhere].Do ...

  3. docker入门 基础命令 docker安装

    docker入门   在学一门新知识的时候,超哥喜欢提问,why?what?how? wiki资料 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes ...

  4. mysql的入门基础操作

    1.数据库的简单介绍 1.1 什么是数据库,就是一个文件系统,使用标准sql对数据库进行操作 1.2 常见的数据库 oracle  是oracle公司的数据库,是一个收费的大型的数据库 DB2,是IB ...

  5. docker入门、LXC、windows container 和 Hyper知识基础、实用情况

    虚拟机与容器 很明显可以看出两者在操作系统级别上的隔离和进程上的隔离的区别,VM因为隔离级别更高明显更重. linux容器主要技术特点: 文件系统隔离:每个容器都有自己的root文件系统 进程隔离:每 ...

  6. Docker探索系列1之docker入门安装与操作

    preface docker这种时髦的技术我接触的比较晚,如果不是公司在使用这项技术,估计还得会更晚接触.好了,说下我司现在docker使用的情况.docker在我司是用来跑web服务的,里面的web ...

  7. (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理

    介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...

  8. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  9. Python 入门基础6 --字符编码、文件操作1

    今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...

随机推荐

  1. C#制作网盘搜索工具(简单的爬虫)

    最近学习C#编程,在网上发现一篇winform下制作百度网盘搜索器的文章,故而下载源码学习一二.无奈原博所用的网址失效,故而自己改写了网址和相关源代码,也进行了实现.因为初学,接触的知识较多,为免忘记 ...

  2. xshell中操作服务器笔记

    sudo su 获取root权限 cd 切换到相应文件夹 ll ls 查看文件夹内容 cp file folder 复制文件到文件夹 \cp为强制覆盖不提示 cp -r /packageA/* /cp ...

  3. webrtc编译

    webrtc编译 最近研究 libmediasoupclient,而 libmediasoupclient 又依赖 libwebrtc,所以首先就想着先在windows上编译一个webrtc的库,先是 ...

  4. 图文实例解析,InnoDB 存储引擎中行锁的三种算法

    前文提到,对于 InnoDB 来说,随时都可以加锁(关于加锁的 SQL 语句这里就不说了,忘记的小伙伴可以翻一下上篇文章),但是并非随时都可以解锁.具体来说,InnoDB 采用的是两阶段锁定协议(tw ...

  5. no-strings-attached writeup

    no-strings-attach writeup 1.程序分析 主函数如图所示,关键函数在authenticate中,进入函数. 分析可得,decrypt代码段为关键代码段,进入关键函数decryp ...

  6. BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf)+[极客大挑战 2019]LoveSQL(联合注入)

    BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf) 记一道联合注入的题,这道题存在过滤. 经过手工的测试,网站会检验用户名和密码是否都存在,如果在用户名处插入注入语句,语句后面 ...

  7. CTF中的序列化与反序列化

    记一些CTF出现的序列化与反序列化的知识点和题目. 序列化和反序列化的概念 序列化就是将对象转换成字符串.字符串包括 属性名 属性值 属性类型和该对象对应的类名. 反序列化则相反将字符串重新恢复成对象 ...

  8. i春秋CTF-web-upload

    ------------恢复内容开始------------ 记一道文件上传的题目. 题目告诉我们随意上传,第一想到的当然给他上传一个木马文件然后蚁剑拿shell,上传之后可以在源码里查看我们上传的文 ...

  9. C# 为什么你应该更喜欢 is 关键字而不是 == 运算符

    前言 在C# 进行开发中,检查参数值是否为null大家都用什么?本文介绍除了传统的方式==运算符,还有一种可以商用is关键字. C# 7.0 中 is 关键字的使用 传统的方式是使用==运算符: if ...

  10. 还怕问源码?Github上神级Android三方源码解析手册,已有7.6 KStar

    或许对于许多Android开发者来说,所谓的Android工程师的工作"不过就是用XML实现设计师的美术图,用JSON解析服务器的数据,再把数据显示到界面上"就好了,源码什么的,看 ...