• docker入门


    Docker下载、安装

    ubuntu系统

    1.查看安装的所有软件 dpkg -l

    2.查看软件安装的路径 dpkg -L xx

    安装方式

    1. apt install docker.io 过时的安装方式 官方不推荐安装docker.io但是能用就好

    2. 从repository安装比较繁琐,可以按文档操作

    3. 也可以从官网下载安装包

    查看docker服务的状态

    systemctl status docker

    mark@ocarina:~$ systemctl status docker
    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled)
       Active: active (running) since Thu 2019-01-24 20:06:12 CST; 15min ago
         Docs: https://docs.docker.com
     Main PID: 14293 (dockerd)
        Tasks: 31
       CGroup: /system.slice/docker.service
               ├─14293 /usr/bin/dockerd -H fd://
               └─14321 docker-containerd --config /var/run/docker/containerd/containerd.toml
    

    基本概念

    • 镜像(Image)
    • 容器(Container)
    • 仓库(Repository)

    镜像类似java的class

    容器相当于由class创建的对象

    仓库相当于jar包,用于保存一组镜像

    Image

    一个只读的模板 ,可创建多个容器

    查看镜像

    docker images

    下载镜像

    docker pull image

    # 从网易云拉取nginx镜像
    mark@ocarina:/etc/docker$ sudo docker pull hub.c.163.com/public/nginx:1.2.1
    1.2.1: Pulling from public/nginx
    f46924f139ed: Pull complete 
    a3ed95caeb02: Pull complete 
    4849cac99801: Pull complete 
    ff472075fa83: Pull complete 
    Digest: sha256:ef9bd0fa2c97429562ecc209772ef07ebb9dfd66dc310ea02739d1f026dbf7b8
    Status: Downloaded newer image for hub.c.163.com/public/nginx:1.2.1
    

    删除镜像

    docker rmi image_id

    docker rmi image:tag

    导出镜像

    docker save image:tag > /path/to/save/xx.tar.gz

    导入镜像

    docker load < /path/to/save/xx.tar.gz

    创建容器

    docker run -it --name my-app image:tag /bin/bash
    docker run -d --name my-app image:tag
    

    Container

    类似一个虚拟机

    可以看做简易的linux运行环境(包含root用户权限,运行空间、网络、用户空间等)+其中运行的应用程序

    docker利用容器来运行应用

    container是从image模板创建出来的运行实例

    容器之间相互隔离、互不影响

    查看容器

    docker ps -a

    mark@ocarina:~$ sudo docker ps -a
    [sudo] mark 的密码: 
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
    7df7b41ba0f5        2dc68ff797db        "/bin/sh -c '/etc/in…"   13 minutes ago      Up 13 minutes       22/tcp, 80/tcp, 443/tcp   unruffled_proskuriakova
    60e77b542b8d        2dc68ff797db        "/bin/sh -c '/etc/in…"   18 minutes ago      Up 18 minutes       22/tcp, 80/tcp, 443/tcp   thirsty_kepler
    

    启动容器

    mark@ocarina:~$ sudo docker start 7df7b41ba0f5
    7df7b41ba0f5
    

    停止容器运行

    mark@ocarina:~$ sudo docker stop 7df7b41ba0f5
    7df7b41ba0f5
    

    删除容器

    mark@ocarina:~$ sudo docker rm 7df7b41ba0f5
    7df7b41ba0f5
    

    进入容器

    mark@ocarina:~$ sudo docker exec -it 60e77b542b8d /bin/bash
    [sudo] mark 的密码: 
    root@60e77b542b8d:/# ls
    bin  boot  dev	etc  home  lib	lib64  media  mnt  opt	proc  root  run  sbin  selinux	srv  sys  tmp  usr  var
    
    cat /etc/hosts  #查看ip地址
    

    将文件放进docker容器

    docker cp xx.war container_id:/usr/loal/tomcat/webapp

    Registry

    注册器(仓库注册服务器 一个网站 包含多个仓库 每个仓库有多个image)

    是集中存放镜像文件的场所

    有public registry 也有private registry

    一个registry中有多个repository

    一个repository中会有多个不同tag的image

    centos的仓库中有tag为6或7的image 代表centos6或centos7

  • 相关阅读:
    京东二面面经(07.17 11:30)
    招银三面手撕代码题(字符串连续子串)
    shein二面(31min)
    京东提前批一面
    两个链表的第一个公共结点
    Java并发机制的底层实现原理
    招银网络(二面07.09)
    黑盒测试与白盒测试
    求1+2+...+n(剑指offer-47)
    第一个只出现一次的字符(剑指offer-34)
  • 原文地址:https://www.cnblogs.com/endurance9/p/10317272.html
Copyright © 2020-2023  润新知