安装Docker

更新yum包

yum update -y

安装需要依赖

yum install -y yum-utils

设置镜像仓库

--默认的
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
--阿里云的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum软件包索引

yum makecache fast

安装docker社区版

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

开机自启

systemctl enable docker

启动docker

systemctl start docker

查看docker版本

docker version

拉取镜像并启动一个容器

docker run --rm hello-world  # –rm容器停止自动删除容器,保留镜像

卸载

yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
rm -rf /var/lib/docker/
rm -rf /var/lib/containerd

常用命令

设置日志文件大小

docker run --log-opt max-size=100m --log-opt max-file=3  # 最大100M,最多3个日志文件

查看日志文件路径

docker inspect --format='{{.LogPath}}' 容器ID

清空日志文件

echo "" > $(docker inspect --format='{{.LogPath}}' 容器ID)

查看日志最新的100条

docker logs --tail=100 容器ID

实时查看最新日志

docker logs -fn 100 容器ID

清理资源

docker system prune

删除那些已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache

清理已经停止运行的容器

docker rm $(docker ps --all -q -f status=exited)

清理镜像

docker image prune -a  # 删除所有没有用的镜像,而不仅仅是临时文件

配置文件 daemon.json

vim /etc/docker/daemon.json
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "100m",
        "max-file": "3"
    },
    "registry-mirrors": [
        "https://mirror.ccs.tencentyun.com"
    ]
}

导出与导入

导出镜像

docker save redis:7.0.8 > redis7.0.8.tar

导入镜像

docker load < redis7.0.8.tar

修改现有镜像以redis为例

拉取镜像

docker pull redis:7.0.8

启动容器

docker run -itd --name redis --network=host redis:7.0.8

进入容器

docker exec -it redis bash

修改容器实现查看ip地址

# 替换sources.list
echo 'deb http://mirrors.aliyun.com/debian bullseye main'>/etc/apt/sources.list
echo 'deb http://mirrors.aliyun.com/debian-security bullseye-security main'>>/etc/apt/sources.list
echo 'deb http://mirrors.aliyun.com/debian bullseye-updates main'>>/etc/apt/sources.list
# 更新
apt-get update -y
# 安装 iproute2
apt install -y iproute2
# 此时可以查看ip
ip addr
# 退出容器
exit

保存容器为镜像

docker commit redis jinzhengba/redis:7.0.8

通过Dockerfile构建镜像以redis为例

目录结构

/home/jinzhenba-redis/
└── Dockerfile

Dockerfile

FROM redis:7.0.8
MAINTAINER jinzhengba
# 设置时区
RUN ["rm","-rf","/etc/localtime"]
RUN ["ln","-sf","/usr/share/zoneinfo/Asia/Shanghai","/etc/localtime"]
EXPOSE 6379
CMD [ "redis-server"]

构建镜像

docker build -t jinzhengba/redis:7.0.8 .

上传到Docker仓库

需要前往 Docker仓库 新建名为 jinzhengba/redis 的仓库

登录docker

docker login

推送镜像

docker push jinzhengba/redis:7.0.8
文章作者: 正焕
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 海边的曼切斯特
学习笔记
喜欢就支持一下吧