Docker安装教程使用

Docker安装教程使用 一、Docker简介什么是dockerdocker是一个开源的应用容器引擎让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上, 也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口什么是容器一个容器就相当于一个虚拟机为什么使用docker1.提供一次性的环境。比如本地测试他人的软件、持续集成的时候提供单元测试和构建的环境2.提供弹性的云服务。因为 Docker容器可以随开随关很适合动态扩容和缩容3.组建微服务架构。通过多个容器一台机器可以跑多个服务因此在本机就可以模拟出微服务架构docker和虚拟机区别隔离级别 docker进程级(隔离策略-CGroups) 虚拟机内核级(隔离策略-Hypervisor)启动时间docker容器-秒级 虚拟机-分钟级群集规模docker容器-上万 虚拟机-上百硬盘储存 docker容器-MB 虚拟机-GB系统资源利用率docker容器0-5% 虚拟机5-15%高可用策略 虚拟机-备份、容灾、迁移 docker-弹性、动态、负载最快捷安装(推荐)sudo yum remove docker docker-common docker-selinux docker-enginesudo yum install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install -y docker-ce docker-ce-cli containerd.iosudo systemctl start dockersudo systemctl enable docker安装docker加速器sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json -‘EOF’{“registry-mirrors”: [“https://docker.mirrors.ustc.edu.cn”,“https://hub-mirror.c.163.com”,“https://docker.nju.edu.cn”,“https://mirror.ccs.tencentyun.com”,“https://docker.1panel.live”]}EOF重启dockersudo systemctl daemon-reloadsudo systemctl restart docker验证是否生效docker info | grep -i mirror看到 Registry Mirrors: 后面有地址就成功了其他方法二、Docker安装方法官网教程方法(一般默认安装到centos7系统上)centos7官网教程安装方法 https://docs.docker.com/engine/install/centos/ubanan官网教程安装方法https://docs.docker.com/engine/install/ubuntu/查看内核版本(前提是必须是大于等于3.8)uname -r如果有之前安装过的先卸载干净sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine先设置一个yaml远程仓库sudo yum install -y yum-utils sudo yum-config-manager --add-repohttps://download.docker.com/linux/centos/docker-ce.repoTips如果sudo yum install -y yum-utils报很多404(没有则跳过)如下就先执行下面这个命令再执行第3步wget-O/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo安装docker引擎(有y按y)sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin如果这一步执行报如下错误参考上一篇博客报如下错解决方法如没有如下报错跳过执行第5步启动dockersudo systemctl start docker试用docker命令(从远程仓库拉取并运行先查看本地有没有hello-world如果没有去远程仓库拉取并运行)sudo docker run hello-world或者使用(查看版本信息)docker version返回上图内容代表安装成功三、docker加速Tips因为远程仓库在国外-安装包都在远程仓库安装镜像比较慢使用国内的镜像源替换阿里云镜像地址及配置方法阿里云加速地址教程第一种方法直接执行如下代码sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF{registry-mirrors:[https://c8ldi73s.mirror.aliyuncs.com]}EOF或者sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json-EOF { registry-mirrors: [ https://docker.m.daocloud.io, https://dockerproxy.com, https://docker.mirrors.ustc.edu.cn, https://docker.nju.edu.cn ] } EOF完成后需要重启虚拟机sudosystemctl daemon-reloadsudosystemctl restartdocker第二种方法在/etc/docker目录下新建daemon.json文件加入以下内容保存{registry-mirrors:[https://c8ldi73s.mirror.aliyuncs.com/,https://registry.docker-cn.com,http://fl36db2.m.daocloud.io,https://docker.mirrors.ustc.edu.cn,https://v2c6fjn8.mirror.aliyuncs.com]}查看docker info 结尾有下列内容代表镜像替换成功重启服务使其生效systemctl daemon-reloadsystemctl restart docker四、docker安装方式二Docker 要求 CentOS 系统的内核版本高于 3.10uname -r #查看系统版本安装需要的软件包yum-util 是yum仓库管理扩展工具包即它提供了yum-config-manager功能另外两个是devicemapper驱动依赖的yum install -y yum-utils device-mapper-persistent-data lvm2添加yum源二选一yum-config-manager --add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo更新yum缓存yum makecache fast查看仓库中docker的版本选择对应的版本安装列出并排序存储库中可用的版本。按版本号从高到低对结果进行排序yum list docker-ce --showduplicates | sort -r安装docker二选一方式一安装最新版–推荐yum install -y docker-ce方式二安装指定版命令为yum install docker-ce-版本号如我选17.12.1.ceyum install docker-ce-17.12.1.ce启动Dockersystemctl start docker加入开机启动systemctlenabledockerdocker加速方法和上面一致五. 验证是否安装成功注有client和service两部分表示docker安装启动都成功了,命令中间不需要打印版本docker version拉取一个hello-world镜像试试是否可以成功dockerpull hello-world显示如下代表可以正常拉取docker可以正常使用啦步骤总结sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum makecache fast sudo yum -y install docker-ce sudo systemctl start docker sudo systemctl enable docker docker version六、docker简单命令停止容器docker stop 容器名称启动容器docker start 容器名称删除容器docker rm 容器ID或者容器名称查看启动的容器docker ps查看所有容器 docker ps -a启动并运行一个容器docker run --name centos_test centos:7强制删除在运行的容器docker rm -f 容器ID或者容器名称查看容器日志docker logs 容器ID或容器名称进入容器内部docker exec -it 容器名称 /bin/bash 或docker exec -it 容器名称 /bin/sh备注 容器名称都可以用容器id前3位代替例如停止容器docker stop 3e4删除镜像先把对应的容器停止或删除查看镜像 docker images