Docker入门实践教程-基本够用了

• Docker是什么?
Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初是dotCloud公司发起。
Docker通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。这里应用组件,即可以是Web应用,也可以是一套数据库服务,甚至是一个操作系统或编译器。
Docker由镜像(Image)、容器(Container)、仓库(Repository) 三大核心组成。
镜像是静态的,你不能对他操作,只能pull别人的镜像或者push自己的镜像。
容器可以理解为镜像的动态状态, 如果要保存修改,就需要将当前容器封装成一个新的镜像,这样下次启动这个新的镜像后之前作出的修改还都在. Docker中的仓库很像git的代码仓库,你可以pull自己之前push到自己仓库的镜像到本地,也可以pull别人push到公共仓库的镜像到自己本地。说白了就是百度云盘.

  • docker 与虚拟机的比较表
    在这里插入图片描述

  • docker的优点

  • 在这里插入图片描述
    在这里插入图片描述

  • docker的安装方式
    docker的安装方式通常有2种方式: 使用bin文件和源的方式
    下面只介绍源的方式。

  • 参考文档
    https://docs.docker.com/install/linux/docker-ce/ubuntu/#set-up-the-repository
    For more examples and ideas, visit: https://docs.docker.com/get-started
    https://www.simapple.com

  • docker安装
    环境: ubuntu 16.04 64bit
    1,移除旧版本
    sudo apt-get remove docker docker-engine docker.io
    2,添加Docker官方GPG key
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    3,添加稳定版的仓库源
    sudo add-apt-repository
    “deb [arch=amd64] https://download.docker.com/linux/ubuntu
    $(lsb_release -cs) stable”
    4,更新源
    sudo apt-get update
    5,安装
    最新版本:sudo apt-get install docker-ce
    指定版本:sudo apt-get install docker-ce=5:18.09.03-0ubuntu-xenial
    通过apt-cache madison docker-ce,查看所有版本。
    6,查看Docker版本信息
    sudo docker version
    sudo docker -v
    7,验证docker是否正确被安装
    sudo docker run hello-world (直接运行即可 自动从服务器上拉取demo镜像)
    正确结果如下:

    Hello from Docker!

    到此docker已成功安装。
    • pull第一个镜像下来
    拉取官方最新版的ubuntu镜像:
    docker pull ubuntu:latest
    其中的latest是一个标签(tag),表示是当前最新版本。
    实际上相当于docker pull registry.hub.docker.com/ubuntu:latest命令,
    即从注册服务器registry.hub.docker.com中的名为ubuntu的仓库中下载标签为latest的镜像。
    • 启动镜像
    1,run:创建并启动容器, 第一次必须使用run,以后就只要使用start.
    sudo docker run -it 镜像名 /bin/bash
    -it 表示运行在交互模式,是-i -t的缩写,即-it是两个参数:-i和-t。前者表示打开并保持stdout,
    后者表示分配一个终端(pseudo-tty)一般这个模式就是可以启动bash,然后和容器有命令行的交互.
    2,start: 只启动容器,
    sudo docker start -ai brave_morse
    其中“brave_morse” 是容器名,通过docker ps -l 得到.
    在这里插入图片描述

  • • 在容器安装所需软件,装完想保存环境?commit帮你
    如: apt-get install vim
    所有软件安装完成后,commit
    sudo docker commit <container_id> <image_name>
    或:
    root@aa97ba3292ce:/#exit //先退出容器
    ~$ docker commit -m “ubuntu with vim” -a “root” aa97ba3292ce root/ubuntu:vim
    其中,-m指定说明信息;-a指定用户名息;aa97ba3292ce代表容器的id;
    root/ubuntu:vim指定目标镜像的用户名、仓库名和 tag 信息。

  • • 分享镜像
    使用上面生成的new_image.tar
    sudo docker load -i new_image.tar
    sudo docker ps -l
    sudo docker run -it ubuntu /bin/sh
    其中ubuntu为镜像名。

  • • configure docker start on boot
    sudo systemctl enable docker

  • • Docker命令图

  • 在这里插入图片描述

  • Docker命令用法→镜像
    创建镜像
    1、基于已有的镜像容器创建
    sudo docker commit [options] container[repository]
    option:-a, --author=“” 作者信息,估计需要账号
    -m,–message=“” 提交信息 -p, --pause=true 提交时暂停容器运行
    2、基于本地模板导入创建
    sudo docker load < ***.tar --本地模板文件tar
    或 sudo docker load -i ***.tar
    // 其相反功能为:
    sudo docker save image_name -o ***.tar
    3、基于Dockerfile文件构建镜像
    docker build –t image-name basedir
    basedir 即dockerfile 所在的目录

  • Docker命令用法→删除镜像
    删除镜像
    docker rmi image
    docker rmi –f image –强制删除镜像
    其中image可以为标签或者ID
    注意: 用docker rmi删除镜像时,首先删除容器,再删除镜像。
    或保存为一个tar文件:
    docker save image_name -o yout.tar

  • Docker命令用法→容器
    创建 |启动容器
    docker create image 创建的容器是停止状态
    docker start/stopcontainer_id启动/停止容器
    docker run image创建并启动容器
    删除容器:docker rm stopcontainer_id
    备注:image-可以为镜像标签或Id container_id为容器id

  • 查询当前运行的镜像
    docker ps -l

  • 列出所有镜像
    docker images

  • • docker 帮助
    docker help
    docker help cmd

  • • docker save load export import区别:
    export: 导出容器(不是镜像)
    docker export <容器ID> -o my.tar
    save: 导出镜像(不是容器)
    docker save ubuntu -o my.tar
    load/ save 功能一样
    docker load -i my.tar

  • Dockerfile文件
    待续…

猜你喜欢

转载自blog.csdn.net/marcosun_sw/article/details/84325490