Kubernetes教程(三)Docker容器命令
Docker容器命令
- 一、前言
- 二、Docker`容器`命令
- 1. 用镜像运行容器
- 2. 查看容器
- 3. 启动/重启容器
- 4. 停止容器
- 5. 删除容器
- 6. 进入容器
- 7. 查看容器日志
- 8. 复制文件到容器
- 9. 从容器复制文件到主机
- 10. 导出和导入容器
一、前言
在上一篇博客Docker镜像命令中,介绍了Docker镜像
的命令。镜像运行后会产生真正的运行实例,就是容器,镜像
好比是Java的类定义,而容器
就像这个Java类new出来的Java实例对象。
二、Docker容器
命令
1. 用镜像运行容器
docker run [选项] <镜像名>:<标签>
例如:启动一个名词为"my-redis"的容器,它是后台运行,可以连接主机的26379端口访问redis容器实例
-v 是挂载卷
docker run --name my-redis -d -p 26379:6379 -v /root/data/redis:/data redis:6.2.6
可以使用rename给容器重命名
docker rename 容器ID/容器名 新容器名
查看容器内运行的进程
docker top 容器ID/容器名
进入容器的redis-cli命令行
docker exec -it my-redis redis-cli
常用选项如下:
- -d:后台运行
- –name:指定容器名称,不指定的话系统自动为容器命名
- -p:端口映射(主机端口:容器端口)
- -v:挂载卷(主机目录:容器目录)
- -e:设置环境变量
- –rm:容器退出后自动删除
- –restart=always,该容器随docker服务启动而自动启动
2. 查看容器
查看运行中的容器
docker ps
查看所有容器(包含停止的容器)
docker ps -a
多一列"SIZE",显示总的文件大小
docker ps -s
-f就是加上过滤条件,下面是查询容器名称中含有"redis"的容器
docker ps -f name=redis
列名 | 介绍 |
---|---|
CONTAINER ID | 容器 ID |
IMAGE | 使用的镜像 |
COMMAND | 启动容器时运行的命令 |
CREATED | 容器创建了有多久了 |
STATUS | created(已创建)restarting(重启中)Up(运行中)removing(迁移中) paused(暂停)exited(停止)dead(死亡) |
PORTS | 容器的端口信息和使用的连接类型(tcp\udp) |
NAMES | 容器名称 |
3. 启动/重启容器
docker start <容器ID或容器名>
docker restart <容器ID或容器名>
4. 停止容器
docker stop <容器ID或容器名>
强制停止运行中的容器
docker kill <容器ID或容器名>
5. 删除容器
docker rm <容器ID或容器名>
强制删除运行中的容器
docker rm -f <容器ID或容器名>
6. 进入容器
docker exec -it <容器ID或容器名> /bin/bash
进入容器的redis-cli命令行
docker exec -it my-redis redis-cli
/bin/bash 进入容器控制台,要再次输入redis-cli才能进入redis-cli
输入exit退出redis-cli
再次输入exit退出docker容器
docker exec -it my-redis /bin/bash
7. 查看容器日志
docker logs <容器ID或容器名>
实时查看日志
docker logs -f <容器ID或容器名>
实时查看日志的最后100条
docker logs -f -n 100 <容器ID或容器名>
8. 复制文件到容器
docker cp <主机文件路径> <容器ID或容器名>:<容器路径>
docker cp myfile.txt mycontainer:/app/
9. 从容器复制文件到主机
docker cp <容器ID或容器名>:<容器路径> <主机文件路径>
docker cp mycontainer:/app/myfile.txt ./
10. 导出和导入容器
有些时候需要把容器导出来,拷贝到别的机器上运行。
用export命令,把my-redis容器导出为my-redis.tar文件
docker export my-redis -o my-redis.tar
docker import命令可以从导出的 tar 归档文件中创建一个新的镜像。
docker import my-redis.tar my-redis:6.2.6