67.Docker 的安装、Docker安装MySql、安装Nginx、save镜像与load镜像

1.查询时候有安装旧版docker 有的话卸载

rpm -qa | grep docker


#卸载
yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine \
    docker-selinux 
  1. 配置Docker的yum库
    首先要安装一个yum工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#安装成功后,执行命令,配置Docker的yum源(已更新为阿里云源):
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
#更新yum,建立缓存
sudo yum makecache fast
  1. 安装Docker
    最后,执行命令,安装Dock
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  1. 启动和校验
# 启动Docker
systemctl start docker

# 查看Docker状态
systemctl status docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
#查看正在运行的容器
docker ps
  1. 配置镜像加速
# 创建目录
rm -f /etc/docker/daemon.json

# 复制内容
tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://mirrors.tuna.tsinghua.edu.cn",
        "http://mirrors.sohu.com",
        "https://ustc-edu-cn.mirror.aliyuncs.com",
        "https://ccr.ccs.tencentyun.com",
        "https://docker.m.daocloud.io",
        "https://docker.awsl9527.cn"
    ]
}
EOF

# 重新加载配置
systemctl daemon-reload

# 重启Docker
systemctl restart docker

6.查询进程 kill进程 安装之前 systemctl status nginx(安装之前查一下运行状态 再kill避免安装失败 以nginx为例)

ps -ef | grep nginx
kill -9 86339 86342

image.png

安装Nginx(默认挂载后面章节会有指定挂载目录 和 配置docker Compose 主要使用dockerCompose)

# 第1步,去DockerHub查看nginx镜像仓库及相关信息

# 第2步,拉取Nginx镜像 (比较耗时)
docker pull nginx:1.20.2

# 第3步,查看镜像
docker images

# 第4步,创建并允许Nginx容器
#docker run -d --name nginx -p 80:80 nginx   是最新的版本
docker run -d --name nginx -p 80:80 nginx:1.20.2

# 第5步,查看运行中容器
docker ps

# 也可以加格式化方式访问,格式会更加清爽
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

# 第6步,访问网页,地址:http://虚拟机地址

# 第11步,查看容器详细信息
docker inspect nginx

# 第12步,进入容器,查看容器内目录
docker exec -it nginx bash
#退出容器进入宿主机
exit






save 保存 和 load

#save 保存
[root@test ~]# docker save -o nginx-1.20.2.tar nginx:1.20.2
[root@test ~]# ll
总用量 142452
-rw------- 1 root root 145870336 4月  28 09:59 nginx-1.20.2.tar

执行save后会得到nginx-1.20.2.tar镜像 此文件就是后面需要的导入镜像


image.png

下面执行导入镜像操作
首先删除我们的nginx镜像

[root@test ~]# docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"
CONTAINER ID   IMAGE          PORTS                               STATUS                     NAMES
9db33a31e559   nginx:1.20.2                                       Exited (0) 2 minutes ago   nginx
5b988d9e6f8f   mysql:8        33060/tcp, 0.0.0.0:3307->3306/tcp   Up 17 hours                mysql
[root@test ~]# docker rm 9db33a31e559
9db33a31e559
[root@test ~]# docker rmi 50fe74b50e0d

#查询已经没有运行和nginx镜像了
[root@test ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED        STATUS        PORTS                               NAMES
5b988d9e6f8f   mysql:8   "docker-entrypoint.s…"   17 hours ago   Up 17 hours   33060/tcp, 0.0.0.0:3307->3306/tcp   mysql
[root@test ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mysql        8         3218b38490ce   4 years ago   516MB

#导入nginx-1.20.2.tar 镜像

[root@test ~]# docker load -i nginx-1.20.2.tar 
2edcec3590a4: Loading layer [==================================================>]  83.86MB/83.86MB
9ccbab2746b8: Loading layer [==================================================>]  61.97MB/61.97MB
108a6d6c3e60: Loading layer [==================================================>]  3.072kB/3.072kB
35437a3771fc: Loading layer [==================================================>]  4.096kB/4.096kB
4e498ce5ae6a: Loading layer [==================================================>]  3.584kB/3.584kB
c75c795b7d44: Loading layer [==================================================>]  7.168kB/7.168kB
Loaded image: nginx:1.20.2
[root@test ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        1.20.2    50fe74b50e0d   4 years ago   141MB
mysql        8         3218b38490ce   4 years ago   516MB

#创建Nginx容器
[root@test ~]# docker run -d --name nginx -p 80:80 nginx:1.20.2
598cf9db0883ed041ff2055a06a25fddd7e9a173769be87e1021affd45a04cec

#查询运行的容器 docker ps -a 是查询停止和运行的所有容器
[root@test ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS         PORTS                               NAMES
598cf9db0883   nginx:1.20.2   "/docker-entrypoint.…"   7 seconds ago   Up 6 seconds   0.0.0.0:80->80/tcp                  nginx
5b988d9e6f8f   mysql:8        "docker-entrypoint.s…"   18 hours ago    Up 17 hours    33060/tcp, 0.0.0.0:3307->3306/tcp   mysql


最后在我们的浏览器中 访问服务器地址 端口默认80可以不用写
成功部署nginx


image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容