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
相关推荐
_.Switch2 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
2401_850410832 小时前
文件系统和日志管理
linux·运维·服务器
JokerSZ.2 小时前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
芯盾时代3 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
心灵彼岸-诗和远方4 小时前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
一只哒布刘4 小时前
NFS服务器
运维·服务器
南猿北者4 小时前
docker容器
docker·容器
苹果醋35 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
二十雨辰5 小时前
[linux]docker基础
linux·运维·docker
time never ceases5 小时前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle