上一节从架构方面认识了 Docker 以及如何安装 Docker,下面就来看一看 Docker 镜像的使用吧!
国外的镜像仓库下载速度贼慢,我们就使用国内镜像仓库吧,就选 DaoCloud吧,最近在学SpringCloud,看着比较亲切,哈哈!
####一、配置DaoCloud加速器
-
进入到 daoCloud官网,首先需要注册登录,然后才能使用daoCloud提供的加速器。更多 -> 加速器,进入到界面:
将那段命令复制下来,粘贴到 linux命令行执行。 -
执行命令后,如下图所示:
然后去Docker配置文件中,删掉这个逗号。
指令: sudo vi /etc/docker/daemon.json
删掉逗号,按 esc退出,:wq 保存。
到此,daoCloud加速器就配置好了!
注意: sudo是为了提权,建议还是在 root 权限下搞吧。
二、镜像的下载安装:
假如说,我们需要 java 相关的镜像
- Docker 镜像搜索:sudo docker search 镜像名
- sudo docker search java - 选择一个我们需要的 pull 下来即可,我们找到( docker.io/java )。
- sudo docker pull docker.io/java - 使用 docker images 查看我们安装的镜像。
- sudo docker images - 修改镜像名称
- sudo tag 原镜像名 新镜像名
- 相当于复制了一份原镜像并修改了名字。修改名字后需要手动使用命令删除原镜像。
三、镜像的导入导出
- 导出镜像:sudo docker save 镜像名 > 导出位置
- 导入镜像:sudo docker load < 镜像文件的位置
- 查看安装的镜像:sudo docker images
- 删除镜像:docker rmi 镜像名
四、启动容器的指令
启动镜像会创建出来一个运行状态的容器
- docker run -it --name myJava java bash
-it : 开启一个交互的界面
–name:给容器起个名字,名字中不能有大写字母。(name 前面两个 “-”)
java:镜像的名字
bash:启动这个容器,运行什么样的程序,此处为 bash命令行
- docker run -it --name myJava -p 9000:8080 -p 9001:8085 java bash
-p 9000:8080 : 表示 将容器的8080端口 映射到 真实主机的9000端口。可以映射多组端口。
- docker run -it --name myJava -v /home/project:/soft --privileged java bash
-v /home/project:/soft :表示真实的宿主机目录 /home/project 映射到 容器的 /soft 目录。可以映射多组目录。
–privileges :表示容器对映射的目录有最高权限 ( 读写执行 ) 。
五、暂停和停止容器的命令
- docker pause myjava : 暂停
- docker unpause myjava : 运行
- docker stop myjava :停止
- docker start -i myjava : 启动
- exit :在交互界面下,exit 可以退出界面并停止容器运行
- docker rm myjava : 删除容器 myjava。
当一个我们看到有运行的有退出的容器的时候,如下图,我们会想清理掉已经退出的容器,一般会用docker rm id
命令,但是如果退出的容器很多,我们就需要一种快捷的命令,一次性全部清理掉,就需要使用下面命令:
- docker container ls -aq : 列举出所有的容器ID
- docker rm $(docker container ls -aq ) : 删除所有的容器,因为括号里得到的是所有容器的ID
如果我们只想删除Exited的容器呢?
- docker container ls -f “status=exited” -q : 只列出退出的容器
- docker rm $(docker container ls -f “status=exited” -q) : 删除Exited的容器。