镜像使用
当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。
操作 | 命令 | 说明 |
---|
检索 | docker search 关键字 如:docker search redis | 经常会去docker hub上检索镜像的详细信息 |
拉取 | docker pull 镜像名:tag 如:docker pull php:7.1.0-fpm | :tag是可选的,tag表示标签,通常是软件的版本号,默认是 latest(即最新版) |
镜像列表 | docker images | 查看所有本地镜像 |
运行 | docker run 镜像名 如:docker run nginx | 运行镜像 |
删除 | docker rmi image-id | 删除指定的本地镜像 |
容器列表 | docker ps -a | 不加 -a 仅列出正在运行的,像退出了的或者仅仅只是创建了的就不列出来 |
操作
检索镜像
可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/。
也可以使用 docker search 命令来搜索镜像。比如我们需要一个 nginx 的镜像来作为我们的web服务器。我们可以通过 docker search 命令搜索 nginx 来寻找适合我们的镜像。
[root@10 vagrant]
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 11606 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1619 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 723 [OK]
bitnami/nginx Bitnami nginx Docker Image 68 [OK]
linuxserver/nginx An Nginx container, brought to you by LinuxS… 64
tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp… 47 [OK]
...
各个选项说明:
- NAME:镜像仓库源的名称
- DESCRIPTION:镜像的描述
- OFFICIAL:是否docker官方发布
拉取镜像
当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它。TAG参数不写默认拉取最新版本。
docker pull nginx
执行完之后可用下面命令查看镜像
列出镜像列表
[root@10 vagrant]
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 719cd2e3ed04 2 weeks ago 109MB
hello-world latest fce289e99eb9 5 months ago 1.84kB
各个选项说明:
- REPOSITORY:表示镜像的仓库源
- TAG:镜像的标签
- IMAGE ID:镜像ID
- CREATED:镜像创建时间
- SIZE:镜像大小
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本。
运行镜像
docker run --name nginx -p 8081:80 -d nginx
- nginx 容器名称。
- -d设置容器在在后台一直运行。
- -p 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。
执行以上命令会生成一串字符串,类似 6dd4380ba70820bd2acc55ed2b326dd8c0ac7c93f68f0067daecad82aef5f938,这个表示容器的 ID,一般可作为日志的文件名。
我们可以使用 docker ps 命令查看容器是否有在运行:
[root@10 vagrant]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
94dadf239207 nginx "nginx -g 'daemon of…" 7 seconds ago Up 3 seconds 0.0.0.0:8081->80/tcp runoob-nginx-test
PORTS 部分表示端口映射,本地的 8081 端口映射到容器内部的 80 端口。
我的虚拟机的IP是:
在浏览器中打开
http://192.168.33.11:8081/
输出如下界面则表示nginx服务安装并成功运行
停止容器并删除容器名称
docker stop nginx
docker rm nginx
创建镜像
当我们从docker镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。
- 从已经创建的容器中更新镜像,并且提交这个镜像;
- 使用 Dockerfile 指令来创建一个新的镜像。(这个种方式另开一篇说明)
参考:
https://www.runoob.com/docker/docker-image-usage.html
http://blog.chinaunix.net/uid-10915175-id-4443127.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)