目录
1.docker怎样解决大型项目依赖关系复杂,不同组件依赖的兼容问题
[2.docker 如何解决开发、测试、生产环境有差异的问题](#2.docker 如何解决开发、测试、生产环境有差异的问题)
8.注意:docker应用需要用到各种端口,逐一去修改防火墙设置非常麻烦,建议提前关闭防火墙
一
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