技术交流28群

服务热线

135-6963-3175

微信服务号

4、Docker镜像命令 更新时间 2019-1-15 浏览1868次

Docker镜像常用命令

本地主机的镜像列表

docker image

创建并运行一个镜像容器

docker run -t -i mysql:latest /bin/bash

拉取镜像

docker pull mysql:latest

查找镜像

docker search mysql


删除镜像

docker rmi mysql:latest


创建镜像

当从docker仓库下载的镜像不能满足我们的需求时,可以通过下面方式对镜像进行更改。

  1. 更改已创建的镜像,并提交。

  2. 使用Dockerfile指令创建一个新的镜像

 

例:

方式一:

首先创建并运行一个镜像

docker run -ti mysql:latest /bin/bash
[root@localhost ~]# docker exec -it 5ab /bin/bash   #5ab为容器id简写
root@5abf309c553b:/# ls
bin  boot  dev  docker-entrypoint-initdb.d  entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@5abf309c553b:/# mkdir 1json
root@5abf309c553b:/# ls
1json  bin  boot  dev  docker-entrypoint-initdb.d  entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@5abf309c553b:/# exit
exit


此时通过命令docker commit -m="has update" -a="1json" containerId my/mysql:v1

参数说明:-m:描述信息

               -a:   指定镜像作者

               containerId:容器id

               my/mysql:v1:指定要创建的目标镜像名

然后我们通过docker images命令查看我们的镜像

[root@localhost ~]# docker commit -m 'mkdir 1json' -a='1json' 5ab my/mysql:v1
sha256:b53c20aab1d880b374aa01137daada7ee682bfe8811bf3343c9e1bba35c96260
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
my/mysql            v1                  b53c20aab1d8        10 seconds ago      544MB
mysql               latest              0d64f46acfd1        2 weeks ago         544MB
hello-world         latest              bf756fb1ae65        7 months ago        13.3kB

方式二:

构建镜像文件Dockerfile文件(语法参考Dockerfile语法章节)

cat Dockerfile

FROM centos:7.5

ENV MYSQL_USER root

ENV MYSQL_PASS 1json

EXPOSE 3306

然后在当前目录执行docker build -t my/mysql:v2 ./

./为Dockerfile所在的目录

-t指定目标镜像名


设置镜像标签

docker tag imageId my/mysql:v3

docker images发现会新增一个为my/mysql:v3的镜像