docker简介
docker简介
一、历史
略
二、安装
1.检查系统内核
[root@admin-master ~]# uname -r
3.10.0-327.el7.x86_64
说明:如果内核在3.8以下,需对内核进行升级
2.操作系统参数设置
# 1.关闭禁用防火墙
$ systemctl stop firewalld
$ systemctl disable firewalld
# 2.关闭selinux
$ /etc/sysconfig/selinux 修改 SELINUX=disabled
# 3.修改网络参数
$ vim /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.tcp_fin_timeout = 30
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.ip_local_port_range = 40000 60000
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv6.conf.all.disable_ipv6 = 1
$ sysctl -p /etc/sysctl.conf 使其生效
3.安装
# 1.下载阿里源repo文件
$ curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
$ curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
$ yum clean all && yum makecache
# 2.查看源中可用版本
$ yum list docker-ce --showduplicates | sort -r
## yum安装
$ yum install docker-ce-20.10.12 -y
# 3.配置源加速
# https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://b6sxwd6q.mirror.aliyuncs.com"]
}
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
# 4.设置开机自启
$ systemctl enable docker
$ systemctl daemon-reload
# 5.启动docker
$ systemctl start docker
# 6.查看docker信息
$ docker info
# docker-client
$ which docker
# docker daemon
$ ps aux |grep docker
# containerd
$ ps aux|grep containerd
$ systemctl status containerd
4.卸载docker
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
三、核心要素及常用操作详解
三大核心要素:镜像(Image)、容器(Container)、仓库(Registry)
镜像
打包了业务代码及运行环境的包,是静态的文件,不能直接对外提供服务。
容器
镜像的运行时,可以对外提供服务。
仓库
存放镜像的地方
- 公有仓库,Docker Hub,阿里,网易...
- 私有仓库,企业内部搭建
- Docker Registry,Docker官方提供的镜像仓库存储服务
- Harbor, 是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能
- 镜像访问地址形式 registry.devops.com/demo/hello:latest,若没有前面的url地址,则默认寻找Docker Hub中的镜像,若没有tag标签,则使用latest作为标签。 比如,docker pull nginx,会被解析成docker.io/library/nginx:latest
- 公有的仓库中,一般存在这么几类镜像
- 操作系统基础镜像(centos,ubuntu,suse,alpine)
- 中间件(nginx,redis,mysql,tomcat)
- 语言编译环境(python,java,golang)
- 业务镜像(django-demo...)