目录
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-size
:10m
:指定单个日志文件的最大大小为 10MB。当达到这个大小后,Docker 会自动创建一个新的日志文件。 -
max-file
:10
:最多保留 10 个日志文件。当旧的日志文件达到这个数量后,最早的日志文件会被自动删除。
-
-
data-root:
-
/data/docker
:指定 Docker 的数据目录为/data/docker
。这通常是 Docker 守护进程存储镜像、容器、网络和其它数据的目录。
-
-
registry-mirrors:
-
https://registry.cn-beijing.aliyuncs.com
:指定一个镜像仓库的镜像地址,这里是阿里云的镜像地址。当 Docker 从镜像仓库拉取或推送镜像时,它会首先尝试从这个镜像仓库获取或推送。这可以帮助优化镜像的拉取速度,特别是在某些地理位置上。
-
(2) 修改完之后,使用以下命令重启 docker
//重新加载配置文件
systemctl daemon-reload
//重启docker
systemctl 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文件。文章来源:https://www.toymoban.com/news/detail-851054.html
解决方式参考:Linux服务器无法访问GitHub问题解决-CSDN博客文章来源地址https://www.toymoban.com/news/detail-851054.html
到了这里,关于Docker学习(3)-CentOS安装Docker及Docker-Compose的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!