一、安装docker
1、卸载原docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、配置yum源
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
#以下是在安装k8s的时候使用
yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6
4、启动docker
systemctl enable docker --now
5、配置加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://3rq6yfeq.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
二、安装nginx
1、docker pull nginx
docker pull nginx #下载最新版
镜像名:版本名(标签)
docker pull nginx:1.20.1
## 下载来的镜像都在本地
docker images #查看所有镜像
2、启动容器
docker run --name nginx -p 9001:80 -d nginx
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
【docker run 设置项 镜像名 】 镜像启动运行的命令(镜像里面默认有的,一般不会写)
# -d:后台运行
# --restart=always: 开机自启
docker run --name nginx -p 9001:80 -d nginx
# 查看正在运行的容器
docker ps
# 查看所有
docker ps -a
# 删除停止的容器
docker rm 容器id/名字
docker rm -f mynginx #强制删除正在运行中的
#停止容器
docker stop 容器id/名字
#再次启动
docker start 容器id/名字
#重启
docker restart nginx
#应用开机自启
docker update 容器id/名字 --restart=always
#进入docker容器
docker exec -it 容器id /bin/bash
docker exec -it 容器id /bin/sh
#推出容器
exit
//修改nginx首页
/usr/share/nginx/html
echo "<h1>Welcom to ls</h1>" >index.html
三、将nginx生成镜像
1、复制nginx镜像
#复制镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
docker commit -a "ls" -m "ls创建nginx" 71638e50bbb4 lsnginx:v1.0
docker commit -a "ls" -m "ls创建nginx" 容器id lsnginx:v1.0
#启动
docker run --name nginx -p 9001:80 -d lsnginx:v1.0
2、将镜像打成压缩包
# 将镜像保存成压缩包
docker save -o nginx.tar lsnginx:v1.0
# 将tar上传到别的机器然后加载这个镜像
docker load -i nginx.tar
四、将nginx镜像推送到远程仓库
1. 登录阿里云Docker Registry
#登录自己得阿里云
docker login --username=18845871373 registry.cn-hangzhou.aliyuncs.com
2、镜像修改名称
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/ls-tool-dev/ls-nginx:[镜像版本号]
docker tag 8f04098cd7fb registry.cn-hangzhou.aliyuncs.com/ls-tool-dev/ls-nginx:v1.0
3、将镜像推送到Registry
docker push registry.cn-hangzhou.aliyuncs.com/ls-tool-dev/ls-nginx:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/ls-tool-dev/ls-nginx:v1.0
五、将阿里云得nginx拉取到其他主机
docker pull registry.cn-hangzhou.aliyuncs.com/ls-tool-dev/ls-nginx:[镜像版本号]
docker pull registry.cn-hangzhou.aliyuncs.com/ls-tool-dev/ls-nginx:v1.0