docker

目录

1.docker怎样解决大型项目依赖关系复杂,不同组件依赖的兼容问题

[2.docker 如何解决开发、测试、生产环境有差异的问题](#2.docker 如何解决开发、测试、生产环境有差异的问题)

3.docker和虚拟机的差异

4.镜像和容器

5.docker结构

6.dockerhub

7.docker安装

8.注意:docker应用需要用到各种端口,逐一去修改防火墙设置非常麻烦,建议提前关闭防火墙

9.镜像配置(加速镜像)

二.docker基本操作

1.镜像操作

2.容器操作​编辑

三自定义镜像

1.镜像结构

四.DockerCompose

五.docker镜像仓库

1..简化版镜像仓库(不推荐)

2.带有图形化界面版本(推荐)


1.docker怎样解决大型项目依赖关系复杂,不同组件依赖的兼容问题
  • docker允许开发中将应用、依赖、函数库、配置一起打包,形成可以移植镜像

  • docker应用运行在容器中,是哟个沙箱机制,相互隔离

2.docker 如何解决开发、测试、生产环境有差异的问题
  • docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行。
3.docker和虚拟机的差异
  • docker是一个系统进程;虚拟机是在操作系统中的操作系统

  • docker体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般

4.镜像和容器
  • 镜像:docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起。

  • 容器:镜像中的应用程序运行后形成的进程就是容器,docke会给容器做隔离,对外不可见。

5.docker结构
  • 服务端:接受命令或远程请求,操作镜像或容器

  • 客户端:发送命令或请求到docker服务端

6.dockerhub
  • 一个镜像托管的服务器,类似还有阿里云镜像服务,统称dockerregistry
7.docker安装
  • 卸载(已经安装的)

    复制代码
    sudo yum remove docker \
                    docker-client \
                    docker-client-latest \
                    docker-common \
                    docker-latest \
                    docker-latest-logrotate \
                    docker-logrotate \
                    docker-selinux \
                    docker-engine-selinux \
                    docker-engine \
                    docker-ce
    \命令太长,想换行用此
  • 安装docker

    • 安装yum工具
    复制代码
    sudo yum install -y yum-utils \
            device-mapper-persistent-data \
            lvm2 
    • 更新本地镜像源

      复制代码
      sudo yum-config-manager \
           --add-repo \
           http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    • 更新yum缓存

      复制代码
      sudo  yum clean all
      sudo yum makecache
    • 安装docker-ce

      复制代码
      # 安装最新版本 docker
      sudo yum -y install docker-ce
      # 安装指定版本 docker
      sudo yum install docker-ce=<VERSION STRING>
8.注意:docker应用需要用到各种端口,逐一去修改防火墙设置非常麻烦,建议提前关闭防火墙
  • 关闭防火墙

    复制代码
    systemctl stop firewalld
    #禁止开机启动防火墙
    sysytemctl disable firewalld
  • 重启docker

    复制代码
    systemctl start docker #启动
    systemctl stop docker #停止
    systemctl restart docker #重启
  • 查看docker版本

    复制代码
    docker -v
9.镜像配置(加速镜像)

网址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

二.docker基本操作
1.镜像操作
  • 镜像相关命令

  • 镜像操作命令

2.容器操作
  • 案例

注意:容器原本是隔离的,通过端口映射使外界通过端口访问容器服务

  • 案例

数据卷:是一个虚拟目录,指向宿主机文件系统中的某个目录

  • 操作
  • 案例
三自定义镜像
1.镜像结构
四.DockerCompose
五.docker镜像仓库
1..简化版镜像仓库(不推荐)

Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。

搭建方式比较简单,命令如下

复制代码
docker run -d \
    --restart=always \
    --name registry \
    -p 5000:5000 \
    -v registry-data:/var/lib/registry \
    registry
​
2.带有图形化界面版本(推荐)

使用dockercompose部署带有图像界面的dockerregistry

复制代码
version: '3.0'  
services:  
  registry:  
    image: registry  
    volumes:  
      - ./registry-data:/var/lib/registry  
  ui:  
    image: joxit/docker-registry-ui:static  
    ports:  
      - "8080:80"  
    environment:  
      - REGISTRY_TITLE=智教育私有仓库  
      - REGISTRY_URL=http://registry:5000  
    depends_on:  
      - registry

2.2配置docker信任地址

因为采用的使http协议,默认不被docker信任,需要配置

复制代码
#打开要修改的文件
vim /etc/docker/daemon.json
#添加内容
"insecure-registries:["http://192.168.146.141:8080"]"
#重加载
systemctl daemon-reload
#重启docker
systemctl restart docker
相关推荐
峰顶听歌的鲸鱼5 小时前
Kubernetes介绍和部署
运维·笔记·云原生·容器·kubernetes·学习方法
信创天地6 小时前
自动化运维利器赋能信创:Ansible与SaltStack在国产系统的部署与批量管理实战
运维·自动化·ansible
东城绝神6 小时前
《Linux运维总结:基于ARM64+X86_64架构使用docker-compose一键离线部署MySQL8.0.43 NDB Cluster容器版集群》
linux·运维·mysql·架构·高可用·ndb cluster
creator_Li6 小时前
即时通讯项目--(1)环境搭建
linux·运维·ubuntu
Ka1Yan7 小时前
Docker:基本概念与快速入门
运维·docker·容器
文静小土豆8 小时前
Rocky Linux 二进制 安装K8S-1.35.0高可用集群
linux·运维·kubernetes
小技工丨8 小时前
华为TaiShan 200 2280 ARM服务器虚拟化部署完整指南
运维·服务器·arm开发
糠帅傅蓝烧牛肉面10 小时前
单实例多MCP聚合服务:两种实现方案深度对比
前端·docker·ai
4032407310 小时前
[Jetson/Ubuntu 22.04] 解决挂载 exFAT 硬盘报错 “unknown filesystem type“ 及只读权限问题的终极指南
linux·运维·ubuntu
零意@10 小时前
debian如何把新编译的内核镜像替换原来的内核
运维·debian·更新内核版本·linux内核版本更新·debian更新内核