zoukankan      html  css  js  c++  java
  • Linux文档整理之【Linux安装Docker】

    这次整理的文档是Docker安装

    先说明下我用的系统是Linux Centos,不同的Linux版本差别不大。

    1.安装依赖包

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    2.设置国内镜像源

    因为docker默认官方的镜像源地址是国外的,速度很慢,这里将数据源设置为阿里云的镜像。当然国内还有其他的镜像源,在此不再一一介绍。

    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

    另种方法

    修改或新增 /etc/docker/daemon.json

    # vi /etc/docker/daemon.json

    {

    "registry-mirrors": ["https://fk1kdqmz.mirror.aliyuncs.com","http://hub-mirror.c.163.com"]

    }

    如果是安装后的设置修改,需要重启docker

    sudo systemctl daemon-reload

    sudo systemctl restart docker.service
    如果docker pull 某个镜像报错:

    Error response from daemon: Get https://registry-1.docker.io/v2/library/mysql/manifests/latest: net/http: TLS handshake timeout

    该错误是因为无法访问国外镜像源导致的,需要按照上面的方法来设置国内镜像源即可。

    3.安装 Docker-CE

    Docker CE(Community Edition) 社区免费版,属于docker引擎。

    sudo yum install docker-ce

    4.启动 Docker-CE

    添加启动Docker服务

    sudo systemctl enable docker

    sudo systemctl start docker

    5.为 Docker 建立用户组

    docker 命令与 Docker 引擎通讯之间通过 UnixSocket ,但是能够有权限访问 UnixSocket 的用户只有 root 和 docker 用户组的用户才能够进行访问,所以我们需要建立一个 docker 用户组,并且将需要访问 docker 的用户添加到这一个用户组当中来。

    1. 建立 Docker 用户组

    sudo groupadd docker

    2. 添加当前用户到 docker 组

    sudo usermod -aG docker $USER

    6.GUI 管理配置 (可选配置)

    gui管理工具 有需要则可以安装使用,没有强制要求。

    Portainer 

    官方地址:https://portainer.io/install.html (国外地址如果不能访问建议翻墙)

    安装命令:

    docker volume create portainer_data

    docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

      

    然后通过自己的IP+9000端口访问

    下面能看到自己的容器、镜像等。

    7.Docker基本概念介绍

    镜像(Image)

    这里面保存了应用和需要的依赖环境 比如运行runtime 和webapp

    为什么需要多个镜像?当开发、构建和运行容器化应用程序时,我们通常会有不同优先级。通过为这些 独立的任务提供不同镜像 

    容器(Container)

    镜像的实例。一个容器代表一个正在运行的应用程序、进程或服务。它由 Docker 镜像、执行环境和标准指令集组成。需要扩展服务时,我 

    真正将镜像跑起来的东西,镜像在容器里面。可以看作是一个完全隔离的盒子。

    一个容器镜像实例 代表一个独立的进程。

    Hub

    远程存放镜像的平台, hub上已经有很多制作好的镜像 比如redis mongodb。

    仓库 (repository)

    仓库用来保存镜像的地方。

    镜像构建完成后,可以直接在当前宿主上运行,但是 如果需要在其它服务器上使用这个镜像,就需要一个集中存储、分发镜像的服务。仓库就是这样的一个服务。

    8.Docker常用命令

    docker ps --查看目前正在运行的所有容器 -a 显示包括已经停止的容器

    docker pull --拉取镜像

    docker rmi --删除镜像 后面可以直接根据镜像 名称或者tag 前首字母匹配

    docker start  container_id --打开容器 (这里可以是容器id或名称)

    docker stop container_id --停止容器 (这里可以是容器id或名称)

    docker rm --删除容器(只有停止的容器才可以删除)

    docker build --使用 Dockerfile 创建镜像

    docker exec --容器中执行命令,例如:docker exec -it  container_id(容器名或id) /bin/bash  (bin/bash要执行的命令或工具)

    docker logs --查看 容器日志 ,例如:docker logs -f -t --tail 10 container_id (容器名或id) 

     

    运行容器

    docker run -it --rm -p 8000:80 --name aspnet_sample microsoft/dotnet__

    --name 容器名称 ,后面跟着是镜像路径或名称

    --rm 运行完后删除该容器 

    -p  端口映射 8000 外部端口 80镜像里面运行的端口 将8000映射到镜像里面的80

    -it  输出容器命令行的内容 即容器的自身的程序输出在控制台 有点类似前台运行

    -d 和it相反  隐藏后台运行

     

     

     

     

     

     

  • 相关阅读:
    [再寄小读者之数学篇](2014-10-27 无穷多个无穷小量相乘还是无穷小量么?)
    华中师范大学2012年数学分析考研试题参考解答
    本科时的课程与成绩
    2014 年第六届全国大学生数学竞赛预赛数学类试题参考答案
    [家里蹲大学数学杂志]第322期赣南师范学院数学竞赛培训第11套模拟试卷
    [再寄小读者之数学篇](2014-10-18 利用 Lagrange 中值定理求极限)
    和马有关的成语
    PL/pgSQL学习笔记之一
    PostgreSQL的 initdb 源代码分析之二十五
    PostgreSQL的 initdb 源代码分析之二十四
  • 原文地址:https://www.cnblogs.com/rui1236/p/12092560.html
Copyright © 2011-2022 走看看