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