美文网首页Docker相关docker
Docker入门之一(镜像)

Docker入门之一(镜像)

作者: 平头哥2 | 来源:发表于2019-02-25 15:07 被阅读0次

安装docker:

[root@langzi01 ~]# yum install -y docker

启动docker服务:

[root@langzi01 ~]# service docker start
Redirecting to /bin/systemctl start docker.service

获取镜像:

[root@langzi01 ~]# docker pull ubuntu
Using default tag: latest
Trying to pull repository docker.io/library/ubuntu ... 
latest: Pulling from docker.io/library/ubuntu
6cf436f81810: Pull complete 
987088a85b96: Pull complete 
b4624b3efe06: Pull complete 
d42beb8ded59: Pull complete 
Digest: sha256:7a47ccc3bbe8a451b500d2b53104868b46d60ee8f5b35a24b41a86077c650210
Status: Downloaded newer image for docker.io/ubuntu:latest

以上命令实际是相当于:

[root@langzi01 ~]# docker pull docker.io/library/ubuntu:latest

即:默认注册服务器为:docker.io

获取指定版本的镜像:

[root@langzi01 ~]# docker pull ubuntu:18.04

其中:18.04是指的ubuntu的版本

运行进入Ubuntu系统命令

[root@langzi01 ~]# docker run -ti ubuntu bash
root@9120f0d8f395:/# pwd
/

查看镜像信息:

[root@langzi01 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/ubuntu    18.04               47b19964fb50        2 weeks ago         88.1 MB
docker.io/ubuntu    latest              47b19964fb50        2 weeks ago         88.1 MB
docker.io/mysql     5.7                 ae6b78bedf88        3 months ago        372 MB

REPOSITORY: 表示来自哪个仓库

TAG:标签,相当于别名,同一个镜像可以有多个别名

IMAGE ID:镜像ID,唯一

CREATED:镜像创建时间

SIZE:镜像大小

查看镜像的详细信息 :docker inspect 镜像ID

[root@langzi01 ~]# docker inspect 47b19964fb50
[
    {
        "Id": "sha256:47b19964fb500f3158ae57f20d16d8784cc4af37c52c49d3b4f5bc5eede49541",
        "RepoTags": [
            "docker.io/ubuntu:18.04",
            "docker.io/ubuntu:latest"
        ],
        "RepoDigests": [
            "docker.io/ubuntu@sha256:7a47ccc3bbe8a451b500d2b53104868b46d60ee8f5b35a24b41a86077c650210"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2019-02-06T03:37:51.599085524Z",
        "Container": "4fcabd24a4d0668c251f05105af1d986b1841713e7af90bf51df172ecefae2fa",
        "ContainerConfig": {
            "Hostname": "4fcabd24a4d0",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"/bin/bash\"]"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:5bbf4643e91ac20eb0ec60930e6d56e36eedab0ae09930a4bd414bb227590d28",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "18.06.1-ce",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/bash"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:5bbf4643e91ac20eb0ec60930e6d56e36eedab0ae09930a4bd414bb227590d28",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 88140808,
        "VirtualSize": 88140808,
        "GraphDriver": {
            "Name": "overlay2",
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/23aff4d2336551f4ba626a2f0e143a8ebe4df37c043a4f11a8e000af7ce730fa/diff:/var/lib/docker/overlay2/f7a8ed06520360cc2a06b97263b6eaaa6fc1820ab95c4ac26520a6d9677d80c3/diff:/var/lib/docker/overlay2/052cd29c13faff8cad7a469e796417b93cf47fd489ff510ff43ce84c8619c834/diff",
                "MergedDir": "/var/lib/docker/overlay2/ec1cd894fec16faf33b2d492da81b3c22294cfb64235e554abba1d6f8d1bd08a/merged",
                "UpperDir": "/var/lib/docker/overlay2/ec1cd894fec16faf33b2d492da81b3c22294cfb64235e554abba1d6f8d1bd08a/diff",
                "WorkDir": "/var/lib/docker/overlay2/ec1cd894fec16faf33b2d492da81b3c22294cfb64235e554abba1d6f8d1bd08a/work"
            }
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:bebe7ce6215aee349bee5d67222abeb5c5a834bbeaa2f2f5d05363d9fd68db41",
                "sha256:283fb404ea9415ab48456fd8a82b153b1a719491cdf7b806d1853b047d00f27f",
                "sha256:663e8522d78b5b767f15b2e43885da5975068e3195bbbfa8fc3a082297a361c1",
                "sha256:4b7d93055d8781d27259ba5780938e6a78d8ef691c94ee9abc3616c1b009ec4a"
            ]
        }
    }
]

可以查看镜像的特定信息:

[root@langzi01 ~]# docker inspect -f {{.Architecture}} 47b19964fb50
amd64

搜索镜像:

[root@langzi01 ~]# docker search elasticsearch
1551073204(1).jpg

INDEX :镜像地址 NAME :镜像名字 DESCRIPTION :镜像描述 STARS :镜像受欢迎程度 OFFICIAL:是否是官方的 AUTOMATED:

查看本机上存在的所有容器:

[root@langzi01 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS               NAMES
9120f0d8f395        ubuntu              "bash"                   About an hour ago   Up About an hour                              flamboyant_bell
c947e8ad159b        ubuntu              "bash"                   About an hour ago   Up About an hour                              brave_feynman
edc1796b7019        mysql:5.7           "docker-entrypoint..."   2 months ago        Exited (0) 2 months ago                       JY_mysql
d68e00314e56        mysql:5.7           "docker-entrypoint..."   2 months ago        Exited (0) 2 months ago                       pwc-mysql

可以看到 :有ubuntu,mysql在运行,删除mysql镜像,不会成功:

[root@langzi01 ~]# docker rmi mysql:5.7
Error response from daemon: conflict: unable to remove repository reference "mysql:5.7" (must force) - container d68e00314e56 is using its referenced image ae6b78bedf88

强制删除(不推荐,会有遗留问题):

[root@langzi01 ~]# docker rmi -f mysql:5.7

应该先停止容器,再移除容器,再删除镜像

停止容器: docker stop 容器ID

[root@langzi01 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
9120f0d8f395        ubuntu              "bash"              About an hour ago   Up About an hour                        flamboyant_bell
c947e8ad159b        ubuntu              "bash"              2 hours ago         Up 2 hours                              brave_feynman
[root@langzi01 ~]# docker stop 912
912

删除容器:docker rm 容器ID:

[root@langzi01 ~]# docker rm 912
912

删除镜像:略去

创建镜像:

1.基于已有的容器的镜像创建:

运行ubuntu镜像:

[root@langzi01 ~]# docker run -ti ubuntu bash  ##运行
root@6fa335302a6b:/# touch test  ## 创建一个文件
root@6fa335302a6b:/# exit  ##推出

查看镜像运行的容器ID:

[root@langzi01 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
6fa335302a6b        ubuntu              "bash"              26 seconds ago      Exited (0) 13 seconds ago                       jovial_yalow

创建镜像的命令:

[root@langzi01 ~]# docker commit -m "add a new file" -a "Docker NewBee" 6fa335302a6b test
sha256:39f3c794c54d5404cd07749bd276caa73c043cf289b0efea90ed431e04729683

说明:这里的6fa335302a6b是原来ubuntu镜像运行的容器ID

docker commit用来创建镜像

-m , --message="" 提交信息

-a,--author="" 作者信息

-p, --pause=true 提交时暂停容器

再次查看镜像,可以发现自己的镜像:

[root@langzi01 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
test                latest              39f3c794c54d        17 seconds ago      88.1 MB
docker.io/ubuntu    latest              47b19964fb50        2 weeks ago         88.1 MB

基于本地模板导入创建镜像:

[root@langzi01 ~]# cat nginx-1.14.2.tar.gz |docker import - nginx:1.14.2
sha256:3982eec1262978d6c21e750e0b1a53dfc5ec305d584c83c6e3965cf16bd65f2e
[root@langzi01 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               1.14.2              3982eec12629        4 seconds ago       6.07 MB
test                latest              39f3c794c54d        16 minutes ago      88.1 MB
docker.io/ubuntu    latest              47b19964fb50        2 weeks ago         88.1 MB

存出镜像:

[root@langzi01 docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               1.14.2              3982eec12629        8 minutes ago       6.07 MB
test                latest              39f3c794c54d        24 minutes ago      88.1 MB
docker.io/ubuntu    latest              47b19964fb50        2 weeks ago         88.1 MB
[root@langzi01 docker]# pwd
/root/docker
[root@langzi01 docker]# docker save -o nginx_xxxxx nginx:1.14.2
[root@langzi01 docker]# ls
nginx_xxxxx

载入镜像到容器:

[root@langzi01 docker]# docker load --input nginx_xxxxx 
bc51f1908ab3: Loading layer [==================================================>] 6.389 MB/6.389 MB
Loaded image: nginx:1.14.2

相关文章

  • Docker入门

    Docker 入门 docker search xxx ——从docker 镜像库搜索镜像 例:docker se...

  • WebRTC-Android编译

    一、利用docker的ubantu镜像安装 1、安装docker,Docker快速入门2、下载docker镜像 上...

  • Docker搭建Mysql教程 与踩坑问题解决 - 学习二

    安装Docker Docker入门安装 - 学习一 下载mysql镜像 官网镜像 docker pull mys...

  • Docker入门之一(镜像)

    安装docker: 启动docker服务: 获取镜像: 以上命令实际是相当于: 即:默认注册服务器为:docker...

  • docker入门了解

    docker名词 docker入门地址c/s模型,镜像,仓库,容器,docker daemon,dockerfil...

  • Docker入门

    Docker入门 Docker命令官方示例 [toc] 1. Docker架构 1.1 Docker镜像与Dock...

  • docker-compose搭建nginx+php+mysql

    前言 上一篇《docker入门——安装(CentOS)、镜像、容器》讲了docker镜像获取、启动容器等基本使用,...

  • docker学习笔记-docker commit (十)

    1、制作镜像的方式之一-docker commit 1.1、格式:docker commit 容器名称 镜像...

  • docker基础 --- 镜像篇

    说明 镜像是Docker的三大组件之一,docker运行容器前需要本地存在对应镜像,如果本地没有镜像,docker...

  • Docker镜像详解(3)

    镜像 镜像是Docker的三大核心概念之一。Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Do...

网友评论

    本文标题:Docker入门之一(镜像)

    本文链接:https://www.haomeiwen.com/subject/xgkgyqtx.html