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