Docker虚拟机常用指令介绍

CentOS安装Docker

yum update -y

yum install -y docker

常用管理命令

启动、关闭、重启

service docker start

service docker stop

service docker restart

左上角的 DockerFile 文件定义了镜像要安装程序和配置的环境,通过 build 指令可以创建出我们想要的镜像;

一旦创建出镜像,如果想要将镜像分发给其他主机的docker虚拟机,一种方法是借助docker仓库来实现,我们可以通过 push 指令把本地镜像上传到仓库中,其他主机就可以通过 search 指令到仓库中去查找上传的镜像,找到上传的镜像之后可以通过 pull 指令将镜像下载到本地,这样别的主机的docker虚拟机就可以拥有这个镜像了;另一种方式是通过文件的方式,将镜像导出为压缩文件,别的主机再用压缩文件导入为镜像就可以了,导出指令是 save 或 export,导入的指令是 load 或 import;

镜像一旦创建出来也是可以删除的,通过 rmi 指令可以将镜像删除;

如果想要查看镜像的详细信息,可以使用 inspect 指令;

如果想要查看docker虚拟机内的所有镜像,可以使用 images 指令;

镜像是用来创建容器的,从镜像创建出容器的指令是 run;

创建出容器之后,这个容器就直接运行了,如果想要停止容器运行或者删除容器,可以使用指令 pause 指令暂停,如果恢复运行可以使用 unpause 指令;如果想要彻底停止容器的指令是 stop ,恢复运行指令为 start;

查看容器详细信息可以使用指令 inspect;

如果想要查看docker虚拟机内的所有所有容器可以使用 ps 指令,如果删除容器可以使用 rm 指令;

容器可以保存为镜像,在容器里面安装程序,配置环境,然后保存为镜像,可以使用 commit 指令。

安装Java镜像

docker search java #搜索与java相关的的镜像

docker pull java #下载指定的镜像

国外镜像仓库下载速度较慢,建议使用国内镜像仓库,如 DaoCloud, DaoCloud镜像配置 , 找到Linux的配置,将其复制粘贴到终端

Linux 下配置

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

配置完后还需要修改配置文件

vim /etc/docker/daemon.json

修改前:

{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],}

将最后的 , 逗号去掉就行了

修改后:

{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}

接下来搜索与java有关的镜像

docker search java

这里使用的是 docker.io/java ,将镜像的名称复制粘贴到下面代码中

docker pull docker.io/java

然后使用下面命令显示docker里面安装的镜像是什么

docker images

导出导入镜像

安装了docker镜像,如果想备份镜像,把镜像导出,保存为压缩文件,用到的指令是 save。如果要从压缩文件导入镜像,使用的指令是 load。

语法

docker save java > /home/java.tar.gz #导出镜像

docker load < /home/java.tar.gz #导入镜像

docker images #查看docker虚拟机里面导入导出的镜像有哪些

docker rmi java #删除镜像

实操

导出刚才安装的java镜像

查看一下是否导出成功

现在将docker虚拟机里面的镜像删掉

查看镜像

导入镜像

查看镜像

启动容器

示例

docker run ...

使用该指令可以创建并启动一个容器(启动镜像会创建出一个运行状态的容器)

语法

docker run -it --name myjava java bash

    • -it: 启动容器之后开启一个交互的界面
    • –name: 给容器起一个名字,可选参数,如果不给容器起名字,它就没有名字,我们管理容器的时候可以根据容器的id去管理容器,比如关闭容器,查看容器信息都可以使用id查找到这个容器
    • myjava: 容器的名字
    • java: 镜像的名字
    • bash:启动的容器运行什么样的程序,运行的是bash命令行

另外还有一些其他参数,比如启动容器之后开启什么端口,把这个端口映射到宿主机上等

docker run -it --name myjava -p 9000:8080 -p 9001:8085 java bash

  • -p: 映射端口
  • 9000:8080: 9000 代表的是宿主机的端口,:8080 是容器的端口,这句话的意思说把容器 8080 的端口映射到真实主机 9000 端口上;
  • -p: 映射另外一组端口,容器想映射多少个端口就写多少个 -p 参数就可以了;后面的表示把 8085 端口映射到真实宿主机9001 端口上;

还可以把宿主机上的文件或文件夹映射到容器中,比如将来跑数据库的时候数据库存储的数据一定要保存到宿主机上的,不应该存储到容器里面,数据一定要在容器之外去保存,将来在备份和恢复的时候就非常方便。

docker run -it --name myjava -v /home/project:/soft --privileged java bash

    • -v: 映射文件,如果有多个映射就使用多个 -v;
    • /home/project:/soft: 宿主机信息,以冒号 : 分隔,/home/project 表示宿主机的目录,这句表示把宿主机的 /home/project 目录映射到容器中的 /soft 目录里面;
    • –privileged: 在linux系统创建文件和读取文件都是有读写权限的,我把宿主机的目录映射到容器的目录中,soft 目录就可以看到真实主机的 project 目录中的一些东西了,如果我们想在 soft 目录中去创建文件和读写文件,真实的宿主机会不会给 soft 这样的权限呢? 后面就需要加上 --privilged 这样的参数,这个参数就告诉docker在运行的时候容器在操作映射目录和映射文件的时候是拥有最高权限的,读写都是可以的。

操作

我们首先在 /home 目录中创建一个文件夹,将来把文件夹映射到容器里面。

启动镜像,并将8080端口映射到真实主机9000上,把8085端口映射到9001端口上,还有目录的映射

docker run -it -p 9000:8080 -p 9001:8085 -v /home/project:/soft --privileged --name myjava docker.io/java bash

回车后会发现前面的提示都变了,现在的界面是进入到了容器里面,刚才命令我们添加了 -it 参数,该参数就是启动一个交互的界面,这里启动的是一个java的容器,里面安装了jdk,我们检测一下java环境,输入 javac

查看一下java版本 java -version

查看一下映射的目录,会发现没有任何的东西。

在 soft 目录中创建一个文件,并向里面写入内容

退出当前容器

进入宿主机的 /home 目录查看里面内容

暂停容器

docker pause myjava

恢复容器

docker unpause myjava

彻底停止

docker stop myjava

恢复运行

docker start -i myjava

之前我们在容器的交互界面使用 `exit` 退出容器,该命令不仅是退出容器,还停止运行了,使容器进入到 `stop` 状态里面,如果要运行执行容器的话就必须使用 `start` 命令去重新启动容器

重新启动刚才关闭的容器

重新打开一个终端,并连接到linux上,在这里面将 myjava 的容器暂停一下

恢复容器

如果想删除容器,前提是必须彻底停止容器,然后再去删除容器

查看容器

(0)

相关推荐

  • 怎么关闭Mac电脑时间机器备份Docker虚拟机功能

    Docker是一个跨平台的轻量级虚拟机,有些用户在Mac电脑中想知道怎么关闭时间机器备份Docker虚拟机功能,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步打开电脑中的[Doc ...

  • 我的世界指令教学:创世神的常用指令大合集

    我的世界指令教学:创世神的常用指令大合集 如果喜欢可以看看我的其他作品. 操作方法 01 /limit <#> - 设置最大变化方块数(用于防止手贱多打几位数) //undo [#] - ...

  • 9条Linux简单又实用的指令介绍

    9条Linux简单又实用的指令介绍 今天,与大家分享的是学习Linux过程中的心得体会,写下来与大家分享。 1、指令:ls 说明:ls常常用于在Console界面下,查看当前目录下文件,其中包括文档、 ...

  • win+R所有命令(win+r常用指令)

      文章目录Win R 运行窗口快速启动系统程序快速启动应用程序快速打开文件/目录DOS常用命令:对Windows操作比较熟的人都知道,Win键 R键可以快速唤起Run窗口,输入命令就可以方便快捷地打 ...

  • 我的世界常用指令与OP指令

    我的世界常用指令与OP指令,本意只是我想让更多的人了解这款游戏. 方法/步骤(要看完全部) 01 ========常用指令======== /register 密码 确认密码           #注 ...

  • 我的世界权限组指令有哪些 用户组权限指令介绍

    <我的世界>这款带有生存冒险元素的建造类游戏,虽然没有什么明确的游戏目的,但玩家却可以尽情享受探索和创造的乐趣.在游戏过程中有玩家问我的世界权限组指令有哪些?下面就将我的世界用户组权限指令 ...

  • 华硕笔记本BIOS常用快捷键介绍

    华硕笔记本BIOS常用快捷键介绍.我们进入BIOS要进行设置,那么他的一些常用快捷键我们还是应该了解的,这样也方便我们操作.快捷操作. 操作方法 01 F2 进入BIOS,这是在我们开机的时候按住他, ...

  • 安卓手机常用指令

    安卓手机种类繁多,伴随着第三方深度定制系统的出现,操作也不尽相同.但是安卓手机的一些常用指令却大同小异,下面归结起来,和大家一起分享(每一条都是自己亲测过的). 操作方法 01 *#*#4636#*# ...

  • PowerPoint中模板使用的常用技巧介绍 提高工作效率

    PowerPoint模板的应用可能不被人注意。如果能巧妙地利用PowerPoint模板,就可以为我们带来极大的方便,提升我们的工作效率。 灵活调用模板 PowerPoint提供的模板非常丰富,可以根据 ...

  • PowerPoint 和Authorware课件制作常用技巧介绍

    Authorware是一个功能强大的图标导向式多媒体编辑制作软件。它无须传统的计算机语言编程,只要将文字、图形、图像、声音、动画、视频等各种多媒体数据汇集在一起,通过对图标的调用来编辑一些控制程序的流 ...