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

目录

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"
  ]
}

配置说明:

  1. log-driver:

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

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

    • /data/docker:指定 Docker 的数据目录为 /data/docker。这通常是 Docker 守护进程存储镜像、容器、网络和其它数据的目录。
  4. 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文件。

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

  • 29
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值