1、安装配置操作系统,使用CentOS stream 8镜像
之前:RHEL 8.4 发布了,CentOS紧随其后,发布CentOS 8.4
之后:CentOS 走在前面,成为RHEL上游,再去发布RHEL
制作模板,模板配置要求,cpu至少2个,内存建议4G,硬盘100G,网卡使用NAT模式。
1.编辑网卡
[root@temp network-scripts]# vi ifcfg-ens160
[root@temp network-scripts]# cat ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens160
DEVICE=ens160
ONBOOT=yes
2.清除密钥文件
[root@temp ~]# cd /etc/ssh/
[root@temp ssh]# ls
moduli ssh_config.d ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key
ssh_config sshd_config ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub ssh_host_rsa_key.pub
[root@temp ssh]# rm -rf ssh_host_*
[root@temp ssh]# ls
moduli ssh_config ssh_config.d sshd_config
3.清除machine-id
清除,不是删除
[root@temp ssh]# cat /etc/machine-id
5f9da25a629841b8bdba92d307182c0d
[root@temp ssh]# cat /dev/null > /etc/machine-id
[root@temp ssh]# cat /etc/machine-id
4.关机
init 0
5.完整克隆(以后用到的虚拟机,都可以进行完整克隆)
6.手工配置静态ip
[root@temp network-scripts]# cat ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.100.177
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS1=192.168.100.2
[root@temp network-scripts]# nmcli conn down ens160
[root@temp network-scripts]# nmcli conn up ens160
7.修改主机名
[root@temp network-scripts]# hostnamectl set-hostname docker
[root@temp network-scripts]# exit
logout
Docker 一家公司的名字,产品叫 Docker,容器技术,除了 docker,podman,lxd/lxc,containerd,runc等。
kubernetes(k之间8个字母简称k8s)k8s 容器编排工具。
虚拟机和容器之间的区别::虚拟机目的是为了隔离用户;容器目的是为了隔离应用(namespace cgroup)。
2、安装docker
1、安装基础软件包,用自带的yum在线源(/etc/yum.repos.d),安装bash-completion软件包能用tab键补全命令
yum install -y vim net-tools bash-completion yum-utils
2、下载docker-ce.repo文件
[root@docker yum.repos.d]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@docker yum.repos.d]# ls 查看会多个docker-ce.repo
3、安装docker
查看docker版本,yum list docker-ce --showduplicates | sort -r
默认安装最新版,yum install -y docker-ce
安装指定版本,yum install -y docker-ce-20.10.22 docker-ce-cli-20.10.22
查看已安装的docker版本,# docker -v
Docker version 24.0.6, build ed223bc
4、开启docker服务
[root@docker ~]# systemctl status docker.service
[root@docker ~]# systemctl start docker.service
[root@docker ~]# systemctl enable docker.service
docker架构
3、镜像操作
求帮助,docker --help
搜索镜像,docker search mysql
下载镜像,拉取镜像后面如果没有带版本,那么默认是latest,docker pull centos
默认从Docker Hub获取下载镜像,国外网站网络会有点卡。
查询镜像,docker images
修改镜像名称,会复制一个镜像并重命名,docker tag mysql:latest mysql:v918
删除镜像,用镜像id也行,docker rmi centos
查看镜像历史信息,docker history centos
推送镜像,因为是往自己的仓库里面推送的,所以推送之前必须要登录和tag修改名称。
不管你的仓库是公开的,还是私有的,只要是push推送都要登录。如果仓库是公开的,拉取pull,所有人都可以拉取;如果仓库是私有的,拉取pull,只能自己拉取使用。
推送镜像,阿里云
1、登入仓库,docker login --username=clisdodo@126.com registry.cn-hangzhou.aliyuncs.com
2、改镜像名称,docker tag centos:latest registry.cn-hangzhou.aliyuncs.com/cloudcs/centos:v917
3、推送镜像到仓库,docker push registry.cn-hangzhou.aliyuncs.com/cloudcs/centos:v917
镜像标准的完整名称
服务器 仓库/分类 镜像 版本
registry.cn-hangzhou.aliyuncs.com/cloudcs/centos:latest
推送镜像,华为云,登录华为云生成临时登录链接
[root@docker ~]# docker login -u cn-north-4@xxxxxxx -p xxxxxx swr.cn-north-4.myhuaweicloud.com
[root@docker ~]# docker tag busybox:latest swr.cn-north-4.myhuaweicloud.com/cloudcs/busybox:v917
[root@docker ~]# docker push swr.cn-north-4.myhuaweicloud.com/cloudcs/busybox:v917
镜像保存与导入,保存镜像到本地:docker save centos:latest -o all.tar,从本地导入镜像:docker load -i all.tar
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest a416a98b71e2 2 months ago 4.26MB
centos latest 5d0da3dc9764 2 years ago 231MB
[root@docker ~]# docker save busybox:latest centos:latest -o all.tar 保存镜像到本地
保存镜像到本地方式二,[root@docker ~]# docker save 镜像id -o a.tar
[root@docker ~]# ls
all.tar anaconda-ks.cfg
[root@docker ~]# docker rmi busybox:latest
[root@docker ~]# docker rmi centos:latest
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@docker ~]# docker load -i all.tar 从本地导入镜像
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest a416a98b71e2 2 months ago 4.26MB
centos latest 5d0da3dc9764 2 years ago 231MB
镜像加速器,配置阿里云。默认情况下,下载镜像是从dockerhub上拉取的,国外网站网络会有点卡,这时候可以选择代理(加速器)。
[root@docker ~]# vim /etc/docker/daemon.json
[root@docker ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://cc2d8woc.mirror.aliyuncs.com"]
}
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
现在下载镜像就很快了,[root@docker ~]# docker pull mysql
镜像加速器,配置华为云,和阿里云操作一致。
4、容器操作
查询正在运行的容器,docker ps
查询所有的容器(运行的/非运行的),docker ps -a
运行一个容器run,docker run centos