zoukankan      html  css  js  c++  java
  • Docker

    Docker

    Docker

    Docker是一个运维使用的工具,停留在运用上即可

    是通过go开发的

    Docker属于C/S架构,Client/Server 既有客户端和服务端

    网站是是属于B/S架构,Broswer/Server浏览器和服务端

    作用:用于安装部署项目运营时需要的软件和依赖的工具,类似于我们目前用的VMware虚拟机,可以安装很多以来软件redis、python、mysql等

    优点:比VM跟轻量,docker可以创建多个容器

    docker会自动往物理里面调用系统文件,调用声卡,调用内部库

    更新Ubuntu的源

    公司开发项目服务器有两种:centOS、ubuntu

    docker环境的理解:

    一个镜像可以通过复制,生产出多个容器

    镜像:类似于安装软件包/类

    每一个镜像里面都包含一个操作系统,这个操作系统里面文件是很小的,里面只会安装一些更当前镜像有关的文件,例如我们可以从官网或者其他人手里,得到镜像文件,如果这个镜像文件里面只安装了nginx,则这个镜像我们可以称为:nginx镜像

    容器:类似于安装软件后的可运行软件/对象

    运行起来的容器,就是一个单独的操作系统,docker提供的命令,进入到容器内部,在操作系统中安装和启动想要的软件

    容器不能直接给其他人使用,只能冻结成一个镜像文件再发给其他人使用

    操作docker的基本命令

    查看docker版本

    docker --version  #查看整个软件的
    docker version
    

    Linux中使用的命令

    1 启动docker

    sudo service docker start

    2 停止docker

    sudo service docker stop

    3重启docker

    sudo service docker restart

    镜像操作

    sudo docker image ls
    #上面命令省略了  --all
    sudo docker image ls --all
    

    修改docker默认下载镜像源,加快拉去镜像速

    在安装好docker之后查看/etc/docker/daemon.json,如果没有就出创建

    输入内容

    {
      "registry-mirrors": ["https://2xdmrl8d.mirror.aliyuncs.com"]
    }
    

    之后重启docker

    sudo service docker restart

    查出所有的镜像文件

    sudo docker image ls

    拉去镜像文件

    sudo docker image pull 镜像文件名:镜像版本号

    删除镜像文件

    sudo docker image rm 镜像文件名:版本号

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

    把镜像文件打包用于分享发送给他人,或备份,打包的文件在执行命令的地址

    sudo docker save -o 文件名.tar.gz 镜像名:版本号

    将打包好的文件加载到docker

    sudo docker load -i 镜像文件名

    在Linux如何剪切到别的路径

    mv mysql-5.7.tar.gz ~/(剪切的路径)

    容器操作[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 表示设置容器的名称

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

    docker run -itd --name=ubuntu2 ubuntu<:版本> ubuntu
    

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

    列出所有容器
    docker container ls                      # 所有正在启动运行的容器
    

    docker container ls --all # 所有容器[不管是否在启动运行中]

    启动容器【可以同时启动多个容器,容器之间使用空格隔开】
    # 启动一个容器
    docker container start <容器名称/容器ID>
    

    启动多个容器

    docker container start <容器名称/容器ID> <容器名称/容器ID> <容器名称/容器ID>

    停止容器
    docker container stop <容器名称/容器ID>
    
    杀死容器

    在容器无法停止的时使用

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

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

    docker container exec -it <容器名称/容器ID>  <第一个命令>
    
    删除容器
    docker  container rm <容器名称/容器ID>
    
    把容器保存成镜像
    docker commit <容器名称/容器ID>  <新镜像名>
    

    扩展

    使用docker命令需要管理员权限,如果希望每次输入docker相关命令时,不用sudo,可通过以下命令进行设置

    sudo usermod -a -G docker $USER
    sudo service docker restart
    newgrp - docker
    

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

    apt-get update
    apt install net-tools        # ifconfig 
    apt install iputils-ping     # ping
    

    容器操作[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 表示设置容器的名称

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

    docker run -itd --name=ubuntu2 ubuntu<:版本> ubuntu
    

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

    列出所有容器
    docker container ls                      # 所有正在启动运行的容器
    

    docker container ls --all # 所有容器[不管是否在启动运行中]

    启动容器【可以同时启动多个容器,容器之间使用空格隔开】
    # 启动一个容器
    docker container start <容器名称/容器ID>
    

    启动多个容器

    docker container start <容器名称/容器ID> <容器名称/容器ID> <容器名称/容器ID>

    停止容器
    docker container stop <容器名称/容器ID>
    
    杀死容器

    在容器无法停止的时使用

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

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

    docker container exec -it <容器名称/容器ID>  <第一个命令>
    
    删除容器
    docker  container rm <容器名称/容器ID>
    
    把容器保存成镜像
    docker commit <容器名称/容器ID>  <新镜像名>
    

    扩展

    使用docker命令需要管理员权限,如果希望每次输入docker相关命令时,不用sudo,可通过以下命令进行设置

    sudo usermod -a -G docker $USER
    sudo service docker restart
    newgrp - docker
    

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

    apt-get update
    apt install net-tools        # ifconfig 
    apt install iputils-ping     # ping
    
  • 相关阅读:
    SetupFactory7使用经验
    中值滤波C语言优化
    回归直线方程
    图像倾斜矫正方程基本的图像变换
    关于相机的一些概念
    VS如何自动创建函数头 函数说明
    自动打开虚拟机
    一些笔记jexcel
    linux 重启mysql redis等服务器
    handsontable 随记
  • 原文地址:https://www.cnblogs.com/g15009428458/p/12482755.html
Copyright © 2011-2022 走看看