docker常用命令
docker常用命令
help命令
- 通过help命令,来查看各种docker命令的详细信息。
格式:
任意docker命令 --help
比如:
docker ps --help
启动docker:
systemctl start docker
如果没有启动 docker,会提示:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
查看docker容器
- 显示所有docker容器:
docker ps -a
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示
显示结果类似如下,
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
959ab10dcc16 centos "/bin/bash" 9 minutes ago Up 3 seconds my_centos
具体含义:
CONTAINER ID:就是容器ID。这个经常会用到。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。状态有7种:
created(已创建)、restarting(重启中)、running 或 Up(运行中)、removing(迁移中)、paused(暂停)exited(停止)、dead(死亡)
NAMES:就是容器的名称。这个也经常会用到。
- 列出所有正在运行的容器信息。
docker ps
创建容器:
基于IMAGE 镜像,创建docker容器。
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run 表示创建一个容器。
IMAGE :docker 首先从本地主机上查找IMAGE镜像 是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。比如 centos 就是一个IMAGE 。
COMMAND:就是启动容器时运行的命令。也可以不指定COMMAND。
#Options参数说明
--name="名字" 指定容器名字
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口
-p ip:主机端口:容器端口 配置主机端口映射到容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
-P 随机指定端口
-e 环境设置
-v 目录映射,容器目录挂载到宿主机目录,格式:<host目录>:<容器目录>
示例:
docker run -it centos /bin/bash
安装centos镜像,这样就可以在 docker的centos镜像里,使用linux系统了。
启动容器:
docker start
格式如下:
docker start [OPTIONS] CONTAINER [CONTAINER...]
CONTAINER:可以用CONTAINER_ID(也就是容器ID),也可以用NAMES(也就是容器名称)。
COMMAND: 启动容器时运行的命令。
CONTAINER_ID、COMMAND和NAMES, 都可以通过 docker ps -a 拿到
进入docker容器:
命令格式如下:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
常用的命令如下:
docker exec -it CONTAINER COMMAND
OPTIONS参数解释如下:
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
CONTAINER:可以用CONTAINER_ID,也可以用NAMES。可以根据docker ps -a命令的结果拿到。
COMMAND: 启动容器时运行的命令。同样可以通过docker ps -a命令拿到。
这个命令表示进入容器终端,并且的保留为容器终端的输入形式。
示例如下,打开CONTAINER_ID(就是容器id) 为 959ab10dcc16 的容器,其中/bin/bash 是COMMAND(就是启动容器时运行的命令):
docker exec -it 959ab10dcc16 /bin/bash
查看日志
如果容器启动不了,可以查看日志,找下失败的原因。
docker logs [OPTIONS] CONTAINER
Options:
-f :显示额外的详细信息提供给日志跟踪日志输出显示
-t :显示时间戳
--tail 数字 :要显示的倒数第几条日志条数
示例:
docker logs -tf 容器id
查看进程
查看容器中进程信息
docker top 容器id
镜像
列出本地主机上的镜像
命令:
docker images
结果的属性含义如下:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
搜索镜像
使用 docker search 命令来搜索镜像。
示例:
docker search ubuntu
下载镜像
docker pull
示例:
docker pull ubuntu
删除镜像
docker rmi ubuntu
获取容器在宿主机的日志路径
可以通过 docker inspect 命令定位容器文件系统在宿主机上对应的目录。
获取容器在宿主机的日志路径
docker inspect --format='{{.LogPath}}' $CONTAINER_ID
从docker容器复制文件到宿主机:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
CONTAINER:SRC_PATH表示容器的名称以及路径
注意,容器CONTAINER和路径SRC_PATH中间有一个冒号。
示例如下,表示将容器clickhouse-server的/tmp/test_cp.csv文件,复制到宿主机的/tmp/test_cp.csv
docker cp clickhouse-server:/tmp/test_cp.csv /tmp/test_cp.csv
- 从宿主机复制文件到docker容器:
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
示例如下,表示主机的/tmp/test_cp.csv,复制到容器clickhouse-server的/tmp/test_cp.csv文件。
docker cp /tmp/test_cp.csv clickhouse-server:/tmp/test_cp.csv
退出docker容器:
exit
其他:
删除docker容器:
docker rm 容器ID
检查docker的安装是否正确:
docker info
- 查看docker容器的基本信息:
docker inspect CONTAINER
参考资料:
https://www.runoob.com/docker/docker-command-manual.html
https://blog.csdn.net/weixin_45698637/article/details/124213429