概述
Docker是基于容器技术的轻量级虚拟化解决方案,docker是由容器引擎,把linux的cgroup、namespace等容器底层技术进行完美的封装、并抽象为用户提供从创建和管理容器的便捷界面(Cli、api等)C/S
Docker的优点
docker把容器化技术做成了标准化平台CAAS (docker统一/指定了容器化技术的标准化平台)
docker引擎统一了基础设施环境:docker环境。
docker引擎统一了程序打包(装箱)方式。
docker引擎统一了程序部署(运行)方式:docker容器基于镜像,运行为容器(可运行的环境)实现了一次构建、多次、多处使用。
三大组件
① 镜像:模板;组资源集合,包含了应用程序软件包、应用程序相关的依赖包、运行应用所需要的基础环境(泛指操作系统环境),可以理解为容器的模板
②容器(docker container):基于镜像的一中运行时状态
③仓库(docker reqistry):存放image镜像模板;
仓库分类:共有仓库(docker hub)
私有仓库(registry harbor)
部署
配置环境
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
[root@docker yum.repos.d]# yum install -y docker-ce #安装docker开源版
[root@docker yum.repos.d]# systemctl start docker
[root@docker yum.repos.d]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
镜像加速
登录https://help.aliyun.com/document_detail/60750.html
登录容器镜像控制台,在左侧导航栏选择镜像工具 > 镜像加速器,在镜像加速器页面就会显示为您独立分配的加速器地址
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://yteuctxu.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
优化网络
ps:优化配置
[root@docker docker]# vim /etc/docker/daemon.json
{
"graph": "/data/docker", #数据目录
"storage-driver": "overlay2", #存储引擎(overlayfs:文件系统,解决docker镜像分层)
"insecure-registries": [" registry.access.redhat.com", "quary.io"] #私有仓库位置
"registry-mirrors": ["https://3hftxm5s.mirror.aliyuncs.com"] #镜像加速
"bip": "172.7.5.1/24", #docker网络;控制网段的位置;需要创建新的网桥,系统默认的docker0是不变的
"exec-opts": ["native.cgroupdriver-systemd"], #启动时候的额外参数(驱动)
"live-restore":true #当docker容器引擎挂掉的时候,使用docker跑起来的容器还能运行(分离)
}
[root@docker docker]# systemctl daemon-reload
[root@docker docker]# systemctl restart docker
相关命令
#查看正在运行容器列表
[root@docker docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
#查看所有容器(包含正在运行和已停止的)
[root@docker docker]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
#查看镜像列表
[root@docker docker]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@docker docker]# docker images(常用)
REPOSITORY TAG IMAGE ID CREATED SIZE
#查看docker版本
[root@docker docker]# docker -v
Docker version 20.10.8, build 3967b7d
[root@docker docker]# docker version #查看详尽信息
Client: Docker Engine - Community #客户端
Version: 20.10.8 #docker引擎版本
API version: 1.41 #API版本
Go version: go1.16.6 #Go语言版本
Git commit: 3967b7d
Built: Fri Jul 30 19:55:49 2021 #创建时间
OS/Arch: linux/amd64 #操作系统/版本
Context: default #连接方式(默认)
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.8
API version: 1.41 (minimum version 1.12)
Go version: go1.16.6
Git commit: 75249d8
Built: Fri Jul 30 19:54:13 2021
OS/Arch: linux/amd64
Experimental: false
containerd: #容器
Version: 1.4.9 #容器版本
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc: 运行时容器
Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63
docker-init: #初始化
Version: 0.19.0
GitCommit: de40ad0
相关镜像操作
[root@docker docker]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a8412ff6e97a hello-world "/hello" 3 minutes ago Exited (0) 3 minutes ago distracted_chatelet
[root@docker docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 6 months ago 13.3kB
创建镜像标签
[root@docker docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 822b7ec2aaf2 25 hours ago 133MB
[root@docker docker]# docker tag nginx:latest nginx:lnmp
[root@docker docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 822b7ec2aaf2 25 hours ago 133MB
nginx lnmp 822b7ec2aaf2 25 hours ago 133MB
删除镜像
[root@docker docker]# docker rmi nginx:lnmp
Untagged: nginx:lnmp
[root@docker docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 822b7ec2aaf2 25 hours ago 133MB