Docker基础操作命令

93 阅读2分钟

1.Docker基础操作

1.1 查看docker信息

# docker version

Client:
 Cloud integration: v1.0.24
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:09:02 2022
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Docker Desktop 4.10.1 (82475)
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:01:23 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.6
  GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc:
  Version:          1.1.2
  GitCommit:        v1.1.2-0-ga916309
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

1.2 docker基础命令

//启动docker
$ systemctl start docker

//关闭docker
$ systemctl stop docker

//重启docker
$ systemctl restart docker

//docker设置随服务启动而自启动
$ systemctl enable docker

//查看docker运行状态
$ systemctl status docker

//查看docker版本号信息
$ docker version
$ docker info

//docker帮助命令
$ docker --help
$ docker --h

1.3 docker镜像命令

docker官方镜像搜索

//查看自己服务器中的docker镜像列表
$ docker images

//搜索镜像
$ docker search 镜像名

//拉取镜像
$ docker pull 镜像名
$ docker pull 镜像名:tag    //tag为版本(latest:最新版)

//运行镜像
$ docker run 镜像名
$ docker run 镜像名.tag

//删除镜像
$ docker rmi 镜像名/镜像ID

//删除多个镜像
$ docker rmi 镜像名/镜像ID  镜像名/镜像ID  镜像名/镜像ID

1.4 Docker容器命令

//查看正在运行的容器列表
$ docker ps

//查看所有容器(包含正在运行和已停止的)
$ docker ps -a

//运行容器
$ docker run -it -d --name 镜像别名 镜像名:tag /bin/bash
-it     : 表示与容器交互式启动
-d      : 表示可后台运行容器(守护运行)
--name: : 给运行容器起别名
/bin/bash : 交互路径

//删除容器
$ docker rm -f 容器名/容器ID

//删除多个容器
$ docker rm -f 容器名/容器ID 容器名/容器ID

//停止容器
$ docker stop 容器名/容器ID

//重启容器
$ docker restart 容器名/容器ID

//启动容器
$ docker start 容器名/容器ID

//kill容器
$ docker kill 容器名/容器ID

//容器文件拷贝(无论是否开启 都可以进行文件拷贝)
$ docker cp 容器ID/名称:文件路径 要拷贝到外部的路径  | 要拷贝到外部的路径  容器ID/名称:文件路径
*//  *从容器内拷出
$ docker cp 容器ID/名称:文件路径 容器外路径
*//  *从外部拷贝文件到容器内
$ docker cp 容器外路径 容器ID/名称:文件路径

//查看日志
$ docker logs -f --tail=要查看末尾多少行  默认all  容器ID
  (eg: $ docker logs -f --tail=30 6524y43743)

1.4.1 容器端口与宿主机端口映射

-p 宿主机端口:容器端口

1.4.2 进入容器方式

//方式一
$ docker exec -it 容器名/容器ID /bin/bash


//方式二
$ docker attach 容器名/容器ID

1.4.3退出容器

$ exit         //直接退出 未添加 -d(持久化容器)时, 执行此参数 容器会被关闭

Ctrl + p + q   //优雅退出,无论是否添加 -d 执行此命令容器都不会关闭

1.4.4 容器随docker服务启动而启动

//使用docker run 时添加 --restart=always

$ docker run -d --name redis01 -p 8080:6379 --restart=always redis:5.0.5 

1.4.5 数据挂载

就是将容器内的数据与外部宿主机文件绑定起来,类似一个双持久化,当容器删除时,宿主机文件数据目录仍在,下次启动容器只要将数据目录指向宿主机数据所在位置即可恢复!

$ -v 宿主机文件存储位置:容器内文件位置

-v 可以多次使用,即一个容器可以同时挂载多个文件
$ -v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置

eg:
$ docker run -d -p 6379:6379 --name redis01 --restart=always -v /var/lib/redis/data:/data -v /var/lib/redis/conf:/usr/local/etc/redis/redis.conf redis:5.0.5 --requirepass "password"

//若不想删除容器,又要然容器设置开机启动,修改配置即可
$ docker update --restart=always 容器ID/容器名$ docker container update --restart=always 容器ID/容器名

1.4.6 更换容器名称

$ docker rename 容器ID/容器名 新容器名

1.5 Docker运维命令

//查看docker磁盘占用总体情况
$ du -hs /var/lib/docker

//查看docker磁盘使用具体情况
$ docker system df

//查找大文件
$ find / -type f -size +100M -print0 | xarg -o du -h | sort -nr