docker手册

安装

# 移除旧版本docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 配置docker yum源。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装 最新 docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动& 开机启动docker; enable + start 二合一
systemctl enable docker --now

# 配置加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

常见命令

#查看运行中的容器
docker ps
#查看所有容器
docker ps -a
#获取所有容器id:
docker ps -aq
#搜索镜像
docker search nginx
#下载镜像
docker pull nginx
#下载指定版本镜像
docker pull nginx:1.26.0
#查看所有镜像
docker images
#删除指定id的镜像
docker rmi e784f4560448

#运行一个新容器
docker run nginx
#停止容器
docker stop keen_blackwell
#启动容器
docker start 592
#重启容器
docker restart 592
#查看容器资源占用情况
docker stats 592
#查看容器日志
docker logs 592
#删除指定容器
docker rm 592
#强制删除指定容器
docker rm -f 592
# 后台启动容器
docker run -d --name mynginx nginx
# 后台启动并暴露端口
docker run -d --name mynginx -p 80:80 nginx
# 进入容器内部
docker exec -it mynginx /bin/bash
# 查看容器详情
docker container inspect mynginx
docker inspect mynginx

# 提交容器变化打成一个新的镜像
docker commit -m "update index.html" mynginx mynginx:v1.0
# 保存镜像为指定文件
docker save -o mynginx.tar mynginx:v1.0
# 删除多个镜像
docker rmi bde7d154a67f 94543a6c1aef e784f4560448
# 加载镜像
docker load -i mynginx.tar 

# 登录 docker hub
docker login
# 重新给镜像打标签
docker tag mynginx:v1.0 leifengyang/mynginx:v1.0
# 推送镜像
docker push leifengyang/mynginx:v1.0

存储

两种方式,注意区分:
● 目录挂载: -v /app/nghtml:/usr/share/nginx/html
● 卷映射:-v ngconf:/etc/nginx
---------------------------------
1、卷映射:-v 卷:容器内目录
2、卷在外部主机默认存放位置:/var/lib/docker/volumes/卷名
3、列出所有的卷操作
docker volume ls
4、创建一个卷
docker volume create 卷名
5、查看某个卷的详情
docker volume inspect 卷名

网络

docker network  --help
# 创建自定义网络,实现主机名作为稳定域名访问。
# 自定义网络
docker network create mynet

# docker为每个容器分配唯一IP,使用容器ip+容器端口可以互相访问
# 运行镜像并且添加为自定义网络
docker run -d -p 88:80 --name app01 --network mynet nginx

Dockerfile 自定义镜像

指令 作用
FROM 指定镜像基础环境
RUN 运行自定义命令
CMD 容器启动命令或参数
LABEL 自定义标签
EXPOSE 指定暴露端口
ENV 环境变量
ADD 添加文件到镜像
COPY 复制文件到镜像
ENTRYPOINT 容器固定启动命令
VOLUME 数据卷
USER 指定用户和用户组
WORKDIR 指定默认工作目录
ARG 指定构建参数

构建命令

docker build -f Dockerfile -t mynginx:v1.0 .

Docker手册的更多相关文章

  1. Docker系列

    Docker学习系列(五):Dockerfile文件 什么是Dockerfile? 它是一个名称为Dockerfile的文件 它是一个脚本文件,由一系列命令和参数构成 Dockerfile是自动构建d ...

  2. Docker自学资源

    1. Docker 的官方文档和博客: Docker官方文档 Docker Blog(官方博客 ) 2. Docker中文这区 网站上的[Docker手册]以及[Docker ppt]两个栏目有 Do ...

  3. Docker实践之01-入门介绍

    目录 一.Docker概述 镜像 容器 仓库 二.安装Docker 1.在CentOS上安装Docker 2.在Ubuntu上安装Docker 3.启动docker 4.建立Docker用户组 5.测 ...

  4. Docker原生网络技术简介

    Docker原生网络技术简介 默认网络 在宿主机部署好Docker Engine后会默认创建三种网络:Bridge.Host和None,如下: docker network ls NETWORK ID ...

  5. 新手Docker入门

    what's the Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植 ...

  6. 微服务之docker(一)

    一.docker介绍及使用 1.docker简介 (1)Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windo ...

  7. 利用 trap 在 docker 容器优雅关闭前执行环境清理

    当一个运行中的容器被终止时,如何能够执行一些预定义的操作,比如在容器彻底退出之前清理环境.这是一种类似于 pre stop 的钩子体验.但 docker 本身无法提供这种能力,本文结合 Linux 内 ...

  8. Kubernetes入门,使用minikube 搭建本地k8s 环境

    这是一篇 K8S 的 HelloWorld,在学习K8S官方文档时搭建环境搭建的一个记录,照着文档下来还是比较顺利的. 一.安装kubectl 下载 kubectl curl -LO "ht ...

  9. docker中文、手册、教程

    Docker资源 Docker官方英文资源: docker官网:http://www.docker.com Docker windows入门:https://docs.docker.com/windo ...

  10. Docker系列之常用命令操作手册

    目录 1.安装虚拟机 2.安装Docker 3.Docker镜像操作 4.Docker容器操作 Docker系列之常用命令操作手册 继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Doc ...

随机推荐

  1. PHP实现随机小姐姐扭一扭、学英语短视频Api接口搭建详细教程

    图片API的文章:图片API制作,教大家制作一个自己的 图片Api ,再记录一下PHP制作视频api的方法.原理上与图片api的制作方法类似. 1.准备工作 准备一个域名,一个服务器(虚拟主机也可以) ...

  2. Spark - [03] 资源调度模式

    题记部分 一.Local模式 1.1.概述 Local模式就是运行在一台计算机上的模式,通常就是用于在本机上练手和测试的. 可以通过以下几种方式设置Master (1)local:所欲计算都运行在一个 ...

  3. 关于Processing开发应用及发布分享的一些经验分享

    从2015年10月份开始接触Processing,到现在的2021年9月底,足足有6年了!笔者会竭尽全力把所有学到的知识.经验分享出来.这篇是关于Processing开发应用及发布分享的一些内容,可能 ...

  4. Manus爆火,是硬核还是营销?

    相信这两天小伙伴们应该被Manus刷屏了,铺天盖地的体验解读文章接踵而来,比如「数字生命卡兹克」凌晨爆肝的热文:「一手体验首款通用Agent产品Manus」.从公众号.朋友圈.抖音.央媒,都能看到Ma ...

  5. 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误

    大家好,我是小康.今天我们来聊一个藏在C++标准库中的"定时炸弹",它看起来人畜无害,但却坑了无数C++程序员. 前言:当你以为自己用的是vector,结果却不是 嘿,各位码农兄弟 ...

  6. 【moectf】wp

    http 用wsrx打开靶机 根据任务描述 得到moectf{basic_http_knowledge_oen0w64iYZqSeT6BT8c9OgFTV-KNMT6g} Web入门指北 打开pdf文 ...

  7. .NET Core 中如何实现缓存的预热?

    在构建高性能的 .NET Core 应用时,缓存是提升系统响应速度.减轻数据库压力的利器.然而,缓存并非一蹴而就,它也需要"热身"才能发挥最佳性能.这就是缓存预热的意义所在. 一. ...

  8. Web前端入门第1问:英语是否很重要?有哪些前置条件?

    HELLO,这里是大熊学习前端开发的入门笔记. 本系列笔记基于 windows 系统. 在入门之前,是否有这样的疑问: 程序员的英语是否很牛?毕竟程序员的代码像天书一样,比如这样: 答案是否定的. 英 ...

  9. DeepSeek+Claude强强联手,使用AI驱动DjangoStarter 3.1框架升级

    前言 上个月底培训了一周就没时间更新博客 上周有一些空闲时间,就继续体验最近很火的AI辅助编程 之前的文章中有说到我配置好了 VSCode + Cline 插件搭配本地部署的 DeepSeek 来实现 ...

  10. 【Linux】shell 脚本 (.sh) 编写及执行

    shell脚本 shell脚本就是一些命令的集合 #!/bin/bash echo "文件开头代表:该文件使用的是bash语法" 一.运行.sh文件 方法一:当前文件执行.sh 文 ...