docker的安装和使用(centos)

软件安装与卸载

安装

  • 卸载旧版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  • 在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,可以从存储库安装和更新Docker。安装yum-utils包(提供yum-config-manager实用程序)并设置稳定的存储库。
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 设置镜像加速(通过国内的资源下载docker镜像),该步骤可在安装完成后执行,执行完成后重启docker服务(systemctl restart docker)
tee /etc/docker/daemon.json <<-'EOF'
{
	"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
EOF
  • 安装软件
yum install -y docker-ce docker-ce-cli containerd.io
  • 启动docker,并且开机自启
systemctl start docker && systemctl enable docker
  • 验证安装成功
docker info

卸载

  • 卸载安装
yum remove -y docker-ce docker-ce-cli containerd.io
  • 删除镜像容器等
rm -rf /var/lib/docker

常用镜像操作

  • 查看本地镜像
docker images
  • 拉取镜像
docker pull <imageName>:<tag>
# docker pull centos:8
# docker pull centos
  • 删除镜像
docker rmi <IMAGE ID>
  • 删除全部镜像
docker rmi `docker images -q`
  • 将镜像保存为压缩包
docker save <REPOSITORY:TAG>  -o=<yourName>.tar
  • 从压缩包加载镜像
docker load < <yourName>.tar

常用容器操作

  • 查看全部容器
docker ps -a
  • 查看在运行中的容器
docker ps
  • 运行容器
    -d:后台运行
    -it:使用交互方式,进入容器
    -p:端口映射(如 -p 8080:8080)
    -v:挂载外部卷(如 -v /data:/data。使用绝对路径或者‘./’指定本级目录)
docker run   <imageId>
# docker run -itd --name test   5d0da3dc9764
  • 容器运行完自动删除容器
docker run -v /root/app/data:/data --rm   149ea3db02e0 python3 /data/test.py
  • 停止一个容器
docker stop <CONTAINER ID>
  • 停止所有容器
docker stop $(docker ps -a -q)
  • 启动一个容器
docker start <CONTAINER ID>
  • 进入正在运行的容器
docker exec  -it   <CONTAINER ID> /bin/bash
#或者使用名字进入 docker exec  -it   <NAMES> /bin/bash
#docker exec  -it  89e0fabc7275 /bin/bash
  • 退出容器
exit
  • 导出容器为压缩包
docker export 3cce9c908216 > my.tar
  • 导入容器压缩包为镜像
docker import - mycentos-image < mycentos_export.tar 
  • 运行该新镜像
# 只执行bash其他什么也不做,容器只会在后台挂着。
docker run  -itd  f51981ad0f9c bash
# 执行'command'命令并挂起,'command'可以是需要启动的程序命令
# 当一个容器变成镜像再变成容器时,可以看作一个新的容器,此前dockerfile中的cmd命令失效。
docker run [OPTIONS] IMAGE_NAME bash -c "COMMAND"
  • 将容器打包为镜像
docker commit <CONTAINER ID> <name>:<version>
  • 将自己的镜像推送到远程仓库
    先登录docker(docker login)。远程仓库中的路径要和本地镜像一致。修改本地镜像名称和tag的方法示例:
    docker tag mytomcat:v1 username/mytomcat:v1
docker push <userName>/<imageName>:<tag>
  • 删除容器
docker rm <CONTAINER ID>
  • 删除全部容器
docker rm -f `docker ps -a -q`

Dockerfile的使用

  • 标准示例
# 拉取基础镜像
FROM centos:7
# 指定变量
ENV NODE_VERSION 7.2.0
# 声明端口
EXPOSE 8080 8081
# 在镜像当中运行命令,在docker build时执行RUN
RUN yum install -y vim
# 将源文件复制到容器中,只能使用Dockerfile所在的相对路径
#在Dockerfile中,COPY指令的第一个参数是相对于构建上下文(build context)的路径。绝对路径可能会
#导致报错。
COPY test.txt /mydir/
# 在 docker run时执行CMD
CMD echo $NODE_VERSION
  1. 根据Dockerfile 构建镜像
docker build -t <imageName>:<tag> .

其他常用操作

  • 查看镜像的详细i信息

    docker  inspect  <imageId>
    
  • 指定容器的日志配置
    它启动一个新的 Docker 容器,并设置每个日志文件的大小为10MB,最多保留3个日志文件

    docker run -d --log-opt max-size=10m --log-opt max-file=3 nginx
    
  • 这将删除所有已停止容器的日志,最后使用时间超过24小时的日志保留,可以根据需要更改24h参数来适应您的需求。

    docker container prune --filter "until=24h"
    
  • 要为单个容器清理日志,请运行以下命令:

    docker logs <container-id> > /dev/null
    
  • 这个命令可以查看特定容器的日志,"–tail 数字"表示查看最后的多少条日志。

    docker logs --tail 数字 容器ID
    
  • 这个命令可以查看容器实时日志,"–tail 数字"表示查看最后的多少条日志。

    docker logs --tail 数字 -f 容器ID
    

参考文档

  • 官方文档 https://docs.docker.com/
  • yum安装报错 https://blog.csdn.net/weixin_43252521/article/details/124409151
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值