zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    vb教程图文并茂
    一个文本框的andriod教程
    5月18日,完成导入数据,但是从命令行显示数据乱码,程序已经正常工作
    android 文件读写权限的设定
    raw目录的位置是D:android_projectsqrscanappsrcmain es aw
    一个在raw里面放着数据库文件的网上例子
    P1446 [HNOI2008]Cards [Burnside引理]
    UVA11255 Necklace [Polya定理]
    Polya 定理入门[Burnside引理,Polya定理,欧拉函数]
    P2831 愤怒的小鸟 [状压dp/模拟退火]
  • 原文地址:https://www.cnblogs.com/endurance9/p/10317272.html
Copyright © 2011-2022 走看看