一、机器环境初始化
1.防火墙关闭
2.yum源
3.安装基础软件
wget -O /etc/yum.repos.d/Cent0S-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel -y
[root@docker01 ~]#systemctl disable firewalld
[root@docker01 ~]# systemctl stop firewalld
[root@docker01 ~]# sed -I 's/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
[root@docker01 ~]# iptables -F
[root@docker01~]#iptables -X
[root@docker01 ~]#iptables -Z
[root@docker01 ~]#iptables-save
二、安装docker
1.docker必须安装在centos7平台,内核版本不低于3.10
在centos平台运行docker可能会遇见些告警信息,修改内核配置参数,打开内核转发功能
开启linux内核的流量转发
cat <<EOF> /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward=1
EOF
2.重新加载内核参数
[root@docker01 ~]#sysctl -p /etc/sysctl.d/docker.conf
#要保持本地软件源较新,可以用阿里云yum源更新软件18
3.安装docker-ce社区版
##下载阿里源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
yum安装docker
yum install docker-ce-20.10.6 –y
查看可用版本
yum list docker-ce –showduplicates | sort –r
如果需要安装旧版本
yum install –y docker-ce-18.09.9
如果要卸载
yum remove –y docker-xxx
4、安装镜像加速器
修改docker配置文件,我们选用骑牛云镜像站
touch /etc/docker/daemon.json
vim /etc/docker/daemon.json
{
"registry-mirrors" : [
“https://8xpk5wnt.mirror.aliyuncs.com”
]
}
重启,设置开机自启
systemctl enable docker
systemctl daemon-reload
systemctl status docker.service
systemctl restart docker
查看
ps -ef|grep docker
docker ps
docker images
docker version
[root@docker-server ~]# docker version
Client:
Version: 26.0.1
API version: 1.45
Go version: go1.21.9
Git commit: d260a54
Built: Thu Apr 11 10:52:27 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 26.0.1
API version: 1.45 (minimum version 1.24)
Go version: go1.21.9
Git commit: 60b9add7
Built: Thu Apr 11 10:53:50 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.7.15
GitCommit: 926c9586fe4a6236699318391cd44976a98e31f1
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0
至此docker部署完成。
三、启动第-个docker容器
#1.获取镜像
#2.运行镜像,生成容器,你想要的容器,就运行在容器中
举例:Nginx web服务器,运行处一个80端口的网站
#在宿主机上,运行nginx
1.开启服务器
2.在服务器上安装好运行nginx所需的依赖关系
3.安装nginx yum install nginx -y
4.修改nginx配置文件
5.启动nginx
6.客户端去访问nginx
比较耗时的。。。因此使用dokcer
docker image ls 查看image有哪些
[root@docker-server ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 2 years ago 141MB
docker rmi 605c77e624dd(镜像ID) 删除已存在的nginx版本
#用docker运行nginx步骤
1、docker pull nginx
2、运行该镜像,运行出具体容器
docker run 参数 镜像名字/id
docker run -d -p 80:80 nginx
-d 后台运行容易
-p 80:80 端口映射,宿主机端口:容器内端口,访问宿主机端口也就访问到容器内端口
[root@docker-server ~]# docker run -d -p 80:80 nginx
64a4005e05803aaf1ae8dae4838f586c787ec3d8a5feb04a0b770b38351f9dcc
3、查看容器是否在运行
docker ps
[root@docker-server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
64a4005e0580 nginx "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:80->80/tcp, :::80->80/tcp youthful_noether
停止具体容器进程
docker stop 64a4005e0580
docker start 64a4005e0580