安装和配置docker
OS: CentOS7.6
IP: 192.168.1.180/24
#配置主机名 hostnamectl set-hostname master1 && bash #关闭防火墙 systemctl disable firewalld --now #关闭iptables yum install -y iptables-services systemctl disable iptables --now #关闭selinux sed -i 's/SELINUX=enforcing/SELINUX=diabled/' /etc/selinux/config setenforce 0 #配置时间同步 yum install -y ntp ntpdate ntpdate ntp1.aliyum.com #编写计划任务,每隔一个小时同步一次时间 crontab -e * */1 * * * /usr/sbin/ntpdate ntp1.aliyun.com #重启crond服务使配置生效 systemctl restart crond #安装基础软件包 yum install -y wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack #安装docker-ce 安装一些必要的软件包 yum install -y yum-utils device-mapper-persistent-data lvm2 配置docker-ce国内yum源(阿里云) yum install -y yum-utils yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装docker-ce yum install -y docker-ce #查看docker版本 docker version #启动docker服务 systemctl enable docker --now #查看docker服务状态 systemctl status docker #开启包转发功能和修改内核参数 内核参数修改: br_netfilter模块用于将桥接流量转发到iptables链,br_netfilter内核参数需要开启转发 modprobe br_netfilter cat > /etc/sysctl.d/docker.conf </etc/rc.sysinit < /etc/sysconfig/modules/br_netfilter.modules < 配置docker镜像加速器
登陆阿里云容器镜像服务
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hvE1bwMZ-1652838729379)(C:Usersmack.zhaoAppDataRoamingTyporatypora-user-images1652512806976.png)]
如果需要添加其它的加速站点,只需要像如下这样即可。
{
“registry-mirrors”: [“https://5vrctq3v.mirror.aliyuncs.com”,“https://registry.docker-cn.com”,“https://docker.mirrors.ustc.edu.cn”,“https://dockerhub.azk8s.cn”,“http://hub-mirror.c.163.com”]
}镜像相关操作
#镜像相关操作 #从dockerhub查找镜像 docker search centos #下载镜像 docker pull centos #把镜像做成离线压缩包 docker save -o centos.tar.gz centos #-o 表示输出output #解压离线镜像包 docker load -i centos.tar.gz #删除镜像 docker rmi centos容器相关操作
#以交互式方式启动并进入容器 docker run --name=hello -it centos /bin/bash #docker run 运行并创建容器 --name 容器的名字 -i 交互式 -t 分配伪终端 centos 启动docker需要的镜像 /bin/bash 说明你的shell类型为bash, bash shell是最常用的一种shell, 是大多数Linux发行版默认的shell,此外还有C shell等其它shell. #以守护进程的方式启动容器 docker run --name=hello1 -dt centos 进入容器 docker exec -it hello1 /bin/bash #容器相关命令汇总 查看正在运行的容器 docker ps 查看所有容器,包括运行和退出的容器 docker ps -a 停止容器 docker stop hello 启动已经停止的容器 docker start hello 删除容器 docker rm -f hello #-f 强制 #通过docker部署nginx服务 1 docker run --name nginx -p 80 -itd centos 2 docker exec -it nginx /bin/bash 3 cd /etc/yum.repos.d && rm -rf /etc/yum.repos.d/* 4 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo 5 yum clean all && yum makecache 6 yum install -y nginx wget vim 7 mkdir /var/www/html 8 echo "My name is mack" > index.html 9 修改/etc/nginx/nginx.conf root /var/www/html/ 10 启动nginx /usr/sbin/nginx 11 访问docker里的nginx服务, docker ps |grep nginx 能看到nginx容器在物理机映射的端口,假如是49153 curl http://192.168.1.180:49153nf
root /var/www/html/10 启动nginx
/usr/sbin/nginx
11 访问docker里的nginx服务,
docker ps |grep nginx
能看到nginx容器在物理机映射的端口,假如是49153
curl http://192.168.1.180:49153



