当前位置: 首页 > article >正文

docker常用命令及用法

常用参数

--name:        设置容器名称
--volume:      (简写 -v) 设置挂载的目录
--workdir:     (简写 -w) 指定容器工作目录
--publish:     (简写 -p) 映射端口
--env:         (简写 -e) 设置容器环境变量
--hostname:    (简写 -h) 设置容器内hostname
--tty:         (简写 -t) 分配一个伪终端
--interactive: (简写 -i) 保持容器内的标准输入 (STDIN) 进行交互

命令帮助

 ☁  ~  docker --help 

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Common Commands:
  run         Create and run a new container from an image
  exec        Execute a command in a running container
  ps          List containers
  build       Build an image from a Dockerfile
  pull        Download an image from a registry
  push        Upload an image to a registry
  images      List images
  login       Log in to a registry
  logout      Log out from a registry
  search      Search Docker Hub for images
  version     Show the Docker version information
  info        Display system-wide information

子命令帮助

 ☁  ~  docker run --help                          

Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Create and run a new container from an image

Aliases:
  docker container run, docker run

Options:
      --add-host list                    Add a custom host-to-IP mapping (host:ip)
      --annotation map                   Add an annotation to the container (passed through to the OCI runtime) (default map[])
  -a, --attach list                      Attach to STDIN, STDOUT or STDERR
      --blkio-weight uint16              Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
      --blkio-weight-device list         Block IO weight (relative device weight) (default [])
      --cap-add list                     Add Linux capabilities
      --cap-drop list                    Drop Linux capabilities
      --cgroup-parent string             Optional parent cgroup for the container
      --cgroupns string                  Cgroup namespace to use (host|private)
......

nginx容器示例

echo "111" > /data/nginx/index.html

docker run --name nginx -v /data/nginx/:/usr/share/nginx/html -p 8001:80 -d nginx

--name: 设置容器名称为nginx
-v :将宿主机目录/data/nginx与容器目录/usr/share/nginx/html映射
-p :将容器内80端口映射到宿主机8001端口上
-d : 后台运行
nginx : 使用nginx:latest最新镜像版本,tag为latest,在创建时可省略
☁  ~  docker ps                                  
CONTAINER ID   IMAGE      COMMAND                   CREATED         STATUS          PORTS                                                  NAMES
956d0e3e5f3e   nginx      "/docker-entrypoint.…"    2 seconds ago   Up 1 second     0.0.0.0:8888->80/tcp, :::8888->80/tcp                  nginx



此时在浏览器或者终端curl访问:
http://宿主机IP:8888  即可看到111的返回内容

常见用法

1.修改正在运行的容器名称
docker rename [容器ID] [新的容器名称]
2.更新容器参数
docker update --restart=always [容器ID]
3.复制宿主机文件(夹)到容器内
# docker cp file [容器名称或容器ID]:[容器内目录]
# docker cp -r folder [容器名称或容器ID]:[容器内目录]

# 复制test文件到nginx容器内的/tmp目录
docker cp test nginx:/tmp
4.复制容器内文件(夹)到宿主机
# docker cp [容器名称或容器ID]:[容器内目录文件] [宿主机目录]
# docker cp -r [容器名称或容器ID]:[容器内目录] [宿主机目录]
docker cp nginx:/tmp/test /data/nginx/
5.镜像的导入导出
# docker save -o [镜像名称].tar 镜像名称:tag  
# 导出到宿主机/data/目录
docker save -o /data/nginx.tar nginx:latest

# docker load -i [镜像名称].tar 
# 导入镜像
docker load -i nginx.tar
6.打包容器成镜像
# docker commmit [容器ID] [镜像名称]:[tag]
# 打包以后可在镜像列表中查看 docker images 
docker commit 956d0e3e5f3e mynginx:v1 
7.查看日志
# 查看容器滚动日志 ,可配合grep筛选日志
docker logs -f [容器名称]
8.执行容器内部命令
☁  ~  docker exec -it nginx bash -c "echo 111"
111
9.[定时任务场景] 容器执行一次就删除
docker run --rm -v /etc/hosts:/etc/hosts \
            -v /data/www/test/:/app/test \
            -w /app/test alpine-python-3.8.10 \
            python scripts/test.py


命令详解:
-v /etc/hosts:/etc/hosts                        # 映射宿主机host到容器内
-v /data/www/test/:/app/test                    # 代码目录映射
-w /app/test                                    # 指定容器内工作目录
python scripts/test.py                          # 使用容器内python解释器执行脚本
alpine-python-3.8.10                            # 容器使用的镜像
--rm                                            # 在命令执行完以后就删除容器所有信息

http://www.kler.cn/a/350768.html

相关文章:

  • MongoDB 学习指南:深入探索非关系型数据库
  • 44.ComboBox的数据绑定 C#例子 WPF例子
  • 在Linux上如何让ollama在GPU上运行模型
  • 一、1-2 5G-A通感融合基站产品及开通
  • ICC和GCC编译器编译Openmp程序的运行区别
  • SpringBoot+Vue小区智享物业管理系统(高质量源码,可定制,提供文档,免费部署到本地)
  • linux证明变量扩展在路径名扩展之前执行
  • 【微服务】全面构建微服务监控体系:确保系统稳定与性能优化的关键
  • 企业专线:构建高效企业网络
  • Linux 外设驱动 应用 3 串口
  • MySQL插入优化-性能对比
  • K3s部署指南
  • 【算法篇】动态规划类(4)——子序列(笔记)
  • CentOS 7 将 YUM 源更改为国内镜像源
  • 原理代码解读:基于DiT结构视频生成模型的ControlNet
  • 【v5.3.0】修复订单批量发货提示 isPicUpload is not defined
  • 【笔记】Day2.5.1查询运费模板列表(未完
  • windows mysql 8.0版本重置root密码
  • 【STM32】C语言复习以及底层寄存器映射
  • 深度学习论文: T-Rex2: Towards Generic Object Detection via Text-Visual Prompt Synergy
  • 利用Python filestream实现文件流读
  • Python设计方差分析实验
  • 【AI绘画】Midjourney进阶:留白构图详解
  • Docker 安装 Oracle创建表空间并导入数据库
  • 初尝类型萃取--typename、模板偏特化、和traits之(一)typename
  • 【DBA Part03】国产Linux上Oracle RAC安装-升级-ADG-迁移