zoukankan      html  css  js  c++  java
  • 7.Docker -- 虚拟服务器

    Docker 介绍

    Docker是一款于安装部署项目运营时需要的软件和依赖的工具,类似于VMware虚拟机平台。

    docker可以通过git从docker官网仓库中下载各种各样的镜像到本地,然后可以通过命令,对镜像进行操作。

    Docker 安装

    docker安装

    网站:: https://www.runoob.com/docker/ubuntu-docker-install.html

    更新ubuntu的apt源索引

    sudo apt-get update
    

    安装包允许apt通过HTTPS使用仓库

    sudo dpkg --configure -a
    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    

    添加Docker官方GPG key【这个是国外服务器地址,所以网路不好的时候,会失败!在网路好的情况下,多执行几次就没问题了】

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    

    设置Docker稳定版仓库

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    

    添加仓库后,更新apt源索引

    sudo apt-get update
    

    前面的准备工作完成以后,接下来安装最新版Docker CE(社区版)

    sudo apt-get install docker-ce
    

    检查Docker CE是否安装正确

    sudo docker run hello-world
    

    出现了helo from Docker则表示上面的安装成功!

    我们获取镜像文件,可以直接去官方网站上获取: https://hub.docker.com/

    Docker 命令

    通用命令

    查看docker 当前版本
    docker --version  # 查看整个docker的版本。
    docker version
    
    # 启动docker
    sudo service docker start
    
    # 停止docker
    sudo service docker stop
    
    # 重启docker
    sudo service docker restart
    

    镜像操作[image]

    列出所有镜像
    docker image ls
    # 上面的命令时省略了 --all
    docker image ls --all
    
    拉取镜像

    下载镜像,默认从官网镜像库下载镜像的,也可以修改docker的源,让docker从国内其他镜像库下载镜像回来。

    这可以达到下载加速的作用。

    例如,使用阿里云的镜像源:

    sudo vim /etc/docker/daemon.json   # 文件如果不存在,则创建
    # 添加如下内容:
    
    
    {
      "registry-mirrors": ["https://2xdmrl8d.mirror.aliyuncs.com"]
    }
    
    # 重启docker即可。
    

    如果不指定版本号,默认拉取最新版本的镜像

    docker image pull <镜像名称:版本号>
    
    删除镜像

    删除的时候,必须注意是否有容器在运行当前镜像文件,如果在使用,则需要先删除容器,才能删除镜像

    docker image rm <镜像名称/镜像ID>:版本号
    
    把docker中的镜像打包成文件

    用于分享发送给他人,或备份

    docker save -o <文件名.tar.gz>  <镜像名>
    
    把镜像文件加载到docker中
    docker load -i <文件名.tar>
    

    容器操作[container]

    创建容器

    必须先有镜像,才能运行创建容器,需要指定使用的镜像名,并且设置创建容器以后,执行对应的第一条命令

    docker run <参数选项> <镜像名称> <命令>
    

    例如:使用"hello-world"镜像,创建一个容器,但没有进行任何操作

    docker run hello-world
    

    例如:使用ubuntu镜像,创建一个名为ubuntu1

    docker pull ubuntu:18.04
    docker run -it --name=ubuntu1 ubuntu:18.04 bash
    

    注意:必须启动的时候,让容器运行bash解析器,才能在接下来的操作让容器不会立刻关闭,而且也能够让我们可以输入linux终端命令, 如果我们一般创建一个容器,选项都是: -itd

    docker run的选项

    -t 表示容器启动后会进入其命令行终端

    -i 表示以“交互模式”运行容器

    --name 表示设置容器的名称

    -d 创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)

    -p 指定端口映射,格式为:主机(宿主)端口:容器端口

    -e 变量名="变量值" 设置环境变量

    --network=host 指定容器的网络连接类型

    --restart=always 在docker重启的时候,是否要自动重启容器

    -v 把docker外接的目录和指定容器内部的目录进行映射,共享文件

    例如,使用ubuntu镜像,创建一个名为ubuntu2,并且在后台运行的容器像

    docker run -itd --name=ubuntu2 ubuntu<:版本> bash
    
    列出所有容器
    docker container ls                      # 所有正在启动运行的容器
    
    docker container ls --all                # 所有容器[不管是否在启动运行中]
    
    启动容器【可以同时启动多个容器,容器之间使用空格隔开】
    # 启动一个容器
    docker container start <容器名称/容器ID>
    
    # 启动多个容器
    docker container start <容器名称/容器ID>  <容器名称/容器ID> 
    
    停止容器
    docker container stop <容器名称/容器ID>
    
    杀死容器

    在容器无法停止的时使用[强制关机,相当于电源]

    docker container kill <容器名称/容器ID>
    
    进入容器

    要进入容器,必须当前容器是启动状态的

    docker container exec -it <容器名称/容器ID> bash
    
    删除容器
    docker  container rm <容器名称/容器ID>
    
    复制文件
    docker cp  原地址:新地址
    1. 从外界复制文件到指定容器中
    sudo docker container cp <路径/文件名>  <容器名称/容器ID>:<路径/文件名>
    
    2. 从容器内部复制文件到外界来
    sudo docker container cp <容器名称/容器ID>:<路径/文件名>  <路径/文件名>
    
    把容器保存成镜像
    docker commit <容器名称/容器ID>  <新镜像名>:<版本号>
    

    扩展

    官方提供的ubuntu系统镜像,工具命令很少,如希望内部安装ping、ifconfig网卡或者vim等工具,可以通过以下命令进行设置[需要联网,而且耗时]

    apt-get update
    apt install net-tools        # ifconfig 
    apt install iputils-ping     # ping
    
  • 相关阅读:
    RAID磁盘阵列介绍
    Nginx如何使用Nginx实现MySQL数据库的负载均衡
    挽救数据库性能的30条黄金法则
    mysql主从复制 (指定复制的数库或者表)
    Nginx系列之负载均衡策略
    Redis安装部署(一主二从三哨兵)
    让你的 Linux 命令骚起来
    MySQL/数据库 知识点总结
    Docker私有仓库搭建与界面化管理
    mysql sql语句修改字段名称,字段长度
  • 原文地址:https://www.cnblogs.com/jia-shu/p/14592879.html
Copyright © 2011-2022 走看看