当前位置:首页 » 《资源分享》 » 正文

Docker学习(2)-CentOS安装Docker及Docker-Compose

6 人参与  2024年05月10日 13:50  分类 : 《资源分享》  评论

点击全文阅读


目录

1.安装及配置

1.1 在线安装

1.1.1 安装docker

1.1.2 安装docker-compose

1.2 离线安装

1.2.1 安装docker

1.2.2 安装docker-compose

1.3 docker配置

1.3.1 配置docker镜像(可选,如不修改存放位置可忽略)

1.3.2 docker 登录镜像仓库 

2 docker 常用操作和命令

2.1 docker清理镜像

2.2 docker-compose常用命令

2.3 docker常用命令


1.安装及配置

Docker安装版本为:24.0.2

Docker-Compose 版本:2.17.2

1.1 在线安装

1.1.1 安装docker

(1)卸载旧版本(如果安装过,未安装过的系统可忽略这一步)

yum remove docker \                   docker-client \                   docker-client-latest \                   docker-common \                   docker-latest \                   docker-latest-logrotate \                   docker-logrotate \                   docker-engine

 (2)使用yum安装yum-utils工具包

yum install -y yum-utils

(3) 设置国内的阿里云镜像仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

(4)安装docker

sudo yum install docker-ce docker-ce-cli containerd.io

观察点日志,如果没有问题一路都选YES就行 

 (5)启动docker并检查

启动命令

systemctl start docker

验证命令

//查看启动状态systemctl status docker//查看安装版本docker version

1.1.2 安装docker-compose

(1) 卸载旧版本(如果安装过,未安装过的系统可忽略这一步)

rm /usr/local/bin/docker-compose

(2)下载docker-compose文件,移动到bin目录

curl -L https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

访问github有点慢,耐心等待下载完成

(3)添加执行权限

chmod +x /usr/local/bin/docker-compose

(4)验证

docker-compose --version

1.2 离线安装

1.2.1 安装docker

(1)获取安装包

docker离线安装包

(2)解压并安装

//进入opt目录下cd /opt//在opt目录下创建docker目录mkdir docker//进入docker 目录下cd docker

 上传从(1)获取的zip包到 /opt/docker目录下并解压

//解压unzip -o docker.zip//执行sh install.sh docker-20.10.9.tgz //查看安装版本docker version

1.2.2 安装docker-compose

(1)获取安装文件

dock-compose离线安装包

(2)上传(1)中获取的文件(docker-compose-linux-x86_64)到 /opt/docker目录下

//移动目录到/usr/local/bin中mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose//添加授权chmod +x /usr/local/bin/docker-compose//查看安装版本docker-compose -v

1.3 docker配置

1.3.1 配置docker镜像(可选,如不修改存放位置可忽略)

(1)编辑或者增加 /etc/docker/daemon.json 配置,配置docker镜像标准输出日志的大小,以及docker镜像的存放位置(默认存放在 /var 目录下,如果磁盘空间不足,一定要修改下面配置中的 “data-root”

{  "exec-opts": ["native.cgroupdriver=systemd"],  "log-driver": "json-file",  "log-opts": {    "max-size": "10m",    "max-file": "10"  },   "data-root": "/data/docker",  "registry-mirrors": [    "https://registry.cn-beijing.aliyuncs.com"  ]}

配置说明:

log-driver:

json-file:指定日志驱动为 json-file。这意味着 Docker 将会为每个容器的日志使用一个 JSON 格式的日志文件。使用 json-file 驱动可以方便地解析和管理日志。

log-opts:

max-size10m:指定单个日志文件的最大大小为 10MB。当达到这个大小后,Docker 会自动创建一个新的日志文件。max-file10:最多保留 10 个日志文件。当旧的日志文件达到这个数量后,最早的日志文件会被自动删除。

data-root:

/data/docker:指定 Docker 的数据目录为 /data/docker。这通常是 Docker 守护进程存储镜像、容器、网络和其它数据的目录。

registry-mirrors:

https://registry.cn-beijing.aliyuncs.com:指定一个镜像仓库的镜像地址,这里是阿里云的镜像地址。当 Docker 从镜像仓库拉取或推送镜像时,它会首先尝试从这个镜像仓库获取或推送。这可以帮助优化镜像的拉取速度,特别是在某些地理位置上。

(2) 修改完之后,使用以下命令重启 docker

//重新加载配置文件systemctl daemon-reload//重启dockersystemctl restart docker

1.3.2 docker 登录镜像仓库 

 用以下命令 登录你的镜像仓库,按提示输入密码。

docker login --username=XXXXX xxx.xxx.com

PS:阿里云,百度云,腾讯云应该都可以免费搭建的个人镜像仓库,也可以使用 Docker Hub(https://hub.docker.com/),但是国内访问比较慢。

2 docker 常用操作和命令

2.1 docker清理镜像

清理未使用的镜像以及相关的无用镜像层(dangling layers):

docker image prune -a

2.2 docker-compose常用命令

docker-compose命令需要在docker-compose.yml文件同级执行

docker-compose up -d  重新构建容器完成部署

docker-compose logs -f --tail 100 service-name 或者 docker logs –f –tail 100 容器ID 查看特定服务的日志观察。

docker-compose ps

2.3 docker常用命令

# service 命令的用法 $ sudo service docker start ​ # systemctl 命令的用法 $ sudo systemctl start docker ​ # 列出本机的所有 image 文件。 $ docker image ls ​ # 删除 image 文件 $ docker image rm [imageName] ​ # 将 image 文件从仓库抓取到本地。 docker image pull library/hello-world ​ # 列出本机正在运行的容器 $ docker container ls ​ # 列出本机所有容器,包括终止运行的容器 $ docker container ls --all ​ # 发出 SIGKILL 信号,杀掉容器,不会删除容器运行中产生的数据。 docker container kill [containerID] ​ # 删除一个容器,并删除容器运行中产生的数据 docker container rm [containerID] ​ # docker container run命令会从 image 文件生成容器。 $ docker container run -p 8000:3000 -it koa-demo /bin/bash # 或者 $ docker container run -p 8000:3000 -it koa-demo:0.0.1 /bin/bash -- -p参数:容器的 3000 端口映射到本机的 8000 端口。 -- -it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。 -- koa-demo:0.0.1:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)。 -- /bin/bash:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell。 ​ # 用来启动已经生成、已经停止运行的容器文件。 $ docker container start [containerID] ​ # 用来终止容器运行,相当于向容器里面的主进程发出 SIGTERM 信号,然后过一段时间再发出 SIGKILL 信号。 $ docker container stop [containerID] ​ # 用来查看 docker 容器的输出 $ docker container logs [containerID] -f : 跟踪日志输出 # docker logs -f mynginx --since :显示某个开始时间的所有日志 -t : 显示时间戳 --tail :仅列出最新N条容器日志 # 例如docker logs --since="2016-07-01" --tail=10 mynginx ​ # 用于进入一个正在运行的 docker 容器 $ docker exec -it [containerID] sh ​ # 用于从正在运行的 Docker 容器里面,将文件拷贝到本机 $ docker container cp [containID]:[/path/to/file] . ​ # 用于构建registry.cn-beijing.aliyuncs.com/xxxx/aaa:1.0.8镜像 $ docker build -t registry.cn-beijing.aliyuncs.com/xxx/aaa:1.0.8 . ​ # 用于将构建的镜像推送到仓库 $ docker push registry.cn-beijing.aliyuncs.com/xxxx/aaa:1.0.8

遇到的问题:

1. 服务器无法连接或连接GitHub过慢,无法下载docker-compose文件。

解决方式参考:Linux服务器无法访问GitHub问题解决-CSDN博客


点击全文阅读


本文链接:http://zhangshiyu.com/post/106326.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1