Docker常用命令

181 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、 启动类命令

  • 启动docker
systemctl start docker
  • 开机自启
systemctl enable docker
  • 重启
systemctl restart docker
  • 停止
systemctl stop docker
  • 查看状态
systemctl status docker

二、 常用镜像命令

  • 从docke hub拉取镜像(可使用阿里云镜像加速)
docker pull hello-world
  • 查看镜像(-a列出所有镜像含历史,-q只显示镜像id)
docker images
  • 根据镜像名从hub查询镜像
docker search 镜像名
  • 查看镜像/容器/数据卷所占的空间
docker system df
  • 移除镜像(-f强制删除)
docker rmi 镜像id
  • 移除所有镜像
docker rmi -f $(docker images -qa)
  • docker-compose重启某个单独服务
docker-compose up -d 容器名称
  • 建立服务镜像(. 代表使用当前目录下的dockerfile进行创建)
docker build -t 镜像名称 .

三、常用容器命令

  • 启动容器

参数说明: --name xxx 指定容器名称 -p 6379:6379 端口映射 -d 容器名 后台运行容器(需有一个前台进程,否则会自动退出) -it 交互模式启动终端,如docker run -it ubuntu /bin/bash;即可在ubuntu容器上进行操作

docker run hello-world
  • 进入容器(-d启动的)并且以命令行交互

docker exec -it ubuntu的容器id /bin/bash docker attach ubuntu的容器id 区别: attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止 exce是在容器中打开新的终端,并启动新的进程,用exit退出,不会导致容器的停止

docker exec -it redis redis-cli
  • 从容器内复制文件到主机上
docker cp 容器id:容器内路径 目的主机路径
如:docker cp 06613f0e74b1:/test.txt /
  • export导出容器的内容留作为一个tar归档文件(对应import)
docker export 容器id > 文件名.tar.gz
如:docker export 06613f0e74b1 > answer.tar.gz
  • import从tar包中的内容创建一个新的文件系统再导入为镜像(对应export)
cat 文件名.tar.gz|docker import - 镜像用户/镜像名:镜像版本号
如:cat answer.tar.gz|docker import - answer/answer:0.0.1
  • 停止容器
docker stop hello-world
  • 查看容器
docker ps
  • 查看已退出的容器
docker ps -a
  • 移除容器
docker rm 容器id或容器名称
  • 移除所有容器
docker rm -f $(docker ps -q -a)
  • 查看日志
docker logs -f 容器名称