安装和配置docker

安装和配置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 <<END
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
END

#加载上述参数,使其立即生效
sysctl -p /etc/sysctl.d/docker.conf

重启机器后br_netfilter模块将自不自动加载,为了加使其自动加载,做如下动作
cat > /etc/rc.sysinit <<END
#!/bin/bash
for file in /etc/sysconfig/modules/*.modules ; do
[ -x $file ] && $file
done

在/etc/sysconfig/modules/目录下新建文件如下
cat > /etc/sysconfig/modules/br_netfilter.modules <<END
modprobe br_netfilter
END

增加权限
chmod 755 /etc/sysconfig/modules/br_netfilter.modules

#重启docker服务
systemctl restart docker

配置docker镜像加速器

登陆阿里云容器镜像服务

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hvE1bwMZ-1652838729379)(C:\Users\mack.zhao\AppData\Roaming\Typora\typora-user-images\1652512806976.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:49153



nf
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


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值