• Docker使用小结(四)发布镜像


    安装Docker后,启动docker

    root@slave1:/home/xxx/Documents# service docker start
    

    停止docker命令

    root@slave1:/home/xxx/Documents# service docker stop
    

    查看运行的docker版本

    
    root@slave1:/home/xxx/Documents# docker --version
    Docker version 18.09.7, build 2d0083d
    

    通过pull命令获取相关镜像

    root@slave1:/home/xxx/Documents# docker pull nginx
    Using default tag: latest
    latest: Pulling from library/nginx
    1ab2bdfe9778: Pull complete
    a17e64cfe253: Pull complete
    e1288088c7a8: Pull complete
    Digest: sha256:53ddb41e46de3d63376579acf46f9a41a8d7de33645db47a486de9769201fec9
    Status: Downloaded newer image for nginx:latest
    

    获取镜像后,通过docker run使其运行起来

    root@slave1:/home/xxx/Documents# docker run -d -p 8800:80 --name nginx_zhao nginx
    780f3120141d2e4c861f3ab190f67d233130b87645db5e93eeef6ada108162fa
    
    
    root@slave1:/home/xxx/Documents# docker ps -l
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
    780f3120141d        nginx               "nginx -g 'daemon of…"   14 seconds ago      Up 12 seconds       0.0.0.0:8800->80/tcp   nginx_zhao
    

    sudo docker ps -a 列出所有容器, 不加 -a 仅列出正在运行的

    sudo docker run -d -p 8800:80 --name nginx_zhao nginx 表示运行指定的镜像
    dudo docker run -d --privileged=true -p 83:80 --name nginx83 nginx 表示提升权限

    宿主主机端口:容器内部端口
      -d 后台运行
      -p 8800:80 是指定对外暴露的端口 容器内部用80 对应外部宿主主机的的8800 代理一样
      --name指定容器的名字 最后的nginx 代表要运行的镜像名字 有tag的加上tag 如 nginx:xxx 默认为latest
    然后访问宿主主机地址+8800端口 出现下图表明nginx已经成功运行

    pull到的镜像有很多需要修改的地方,比如配置文件等,使用exec命令进入到容器内部进行操作

    root@slave1:/home/xxx/Documents# docker exec -it 780f3120141d /bin/bash
    root@780f3120141d:/# pwd
    /
    root@780f3120141d:/# ls -l
    total 64
    drwxr-xr-x   2 root root 4096 Aug 12 00:00 bin
    drwxr-xr-x   2 root root 4096 May 13 20:25 boot
    drwxr-xr-x   5 root root  340 Sep 11 01:38 dev
    drwxr-xr-x   1 root root 4096 Sep 11 01:38 etc
    drwxr-xr-x   2 root root 4096 May 13 20:25 home
    drwxr-xr-x   1 root root 4096 Aug 15 21:22 lib
    drwxr-xr-x   2 root root 4096 Aug 12 00:00 lib64
    drwxr-xr-x   2 root root 4096 Aug 12 00:00 media
    drwxr-xr-x   2 root root 4096 Aug 12 00:00 mnt
    drwxr-xr-x   2 root root 4096 Aug 12 00:00 opt
    dr-xr-xr-x 290 root root    0 Sep 11 01:38 proc
    drwx------   2 root root 4096 Aug 12 00:00 root
    drwxr-xr-x   1 root root 4096 Sep 11 01:38 run
    drwxr-xr-x   2 root root 4096 Aug 12 00:00 sbin
    drwxr-xr-x   2 root root 4096 Aug 12 00:00 srv
    dr-xr-xr-x  13 root root    0 Sep 11 01:38 sys
    drwxrwxrwt   1 root root 4096 Aug 15 21:22 tmp
    drwxr-xr-x   1 root root 4096 Aug 12 00:00 usr
    drwxr-xr-x   1 root root 4096 Aug 12 00:00 var
    root@780f3120141d:/# nginx -v
    nginx version: nginx/1.17.3
    root@780f3120141d:/# exit
    exit
    

    通过inspect获得镜像详细信息,通过grep检索需要的项目

    root@slave1:/home/xxx/Documents# docker inspect nginx_zhao |grep IPAddress
                "SecondaryIPAddresses": null,
                "IPAddress": "172.17.0.2",
                        "IPAddress": "172.17.0.2",
    

    进入容器内部并修改后,怎么生成新的镜像供下次直接使用

    root@slave1:/home/xxx/Documents# docker commit nginx_zhao zhao/nginx:v1.0
    sha256:75fe4514801e00e544741efa375fe4eb764186f7a9a75d76c27ee488070c84ae
    root@slave1:/home/xxx/Documents# docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    zhao/nginx           v1.0                75fe4514801e        27 seconds ago      126MB
    

    docker commit nginx_zhao zhao/nginx:v1.0,其中nginx_zhao表示刚修改的容器名字或者id,zhao/nginx:v1.0 表示保存的镜像名字 :后面为tag
    刚刚commit的镜像是保存在本地的,如果要提交到网络上供其他人pull 使用呢?
    可以在https://cloud.docker.com/上注册一个账号,提交本地镜像到https://cloud.docker.com/上去。

    参考:Docker技术入门与实战 Docker基本命令使用及发布镜像

  • 相关阅读:
    TLS1.3 认证和秘钥建立握手环节的分析
    使用华为云+GitHub搭建自己的博客
    TLS1.3 握手协议的分析
    Formal Analysis of the TLS Handshake Protocol -----论文整理
    TLS1.3 握手过程特性的整理
    TLS1.3 PPT 整理
    SSL/TLS 握手协议简述
    TLS握手秘钥套件分析
    Scyther-Compromise 协议形式化安全分析如何改进协议
    HTTP 协议部分常识简介
  • 原文地址:https://www.cnblogs.com/eugene0/p/11515580.html
Copyright © 2020-2023  润新知