Docker(二)—docker基本命令
1.基本命令
(1)docker基本信息:docker version
(2)docker系统信息:docker info
[root@192 ~]# docker info Client: #docker客户端信息 Context: default Debug Mode: false Plugins: app: Docker App (Docker Inc., v0.9.1-beta3) buildx: Build with BuildKit (Docker Inc., v0.6.1-docker) scan: Docker Scan (Docker Inc., v0.8.0) Server: #docker服务器信息 Containers: 1 #容器数量 Running: 0 #正在运行的容器数量 Paused: 0 #暂停的容器数量 Stopped: 1 #停止的容器数量 Images: 2 #镜像数量 Server Version: 20.10.8 #docker服务器版本 Storage Driver: overlay2 #docker存储驱动程序 Backing Filesystem: xfs #文件系统 Supports d_type: true Native Overlay Diff: true userxattr: false Logging Driver: json-file #日志驱动程序 Cgroup Driver: cgroupfs #Cgroup驱动程序 Cgroup Version: 1 Plugins: #插件信息 Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux Default Runtime: runc Init Binary: docker-init containerd version: 8848fdb7c4ae3815afcc990a8a99d663dda1b590 runc version: v1.0.2-0-g52b36a2 init version: de40ad0 Security Options: seccomp Profile: default Kernel Version: 3.10.0-1160.el7.x86_64 #linux内核版本 Operating System: CentOS Linux 7 (Core) #linux操作系统 OSType: linux #操作系统类型 Architecture: x86_64 CPUs: 4 #宿主机CPU数量 Total Memory: 2.691GiB #宿主机内存 Name: 192.168.91.128 #宿主机名称 ID: W3QK:UQM3:C7KB:YGZN:7K5H:V4XV:4D6C:722L:BBYU:KDON:OKXK:DN73 Docker Root Dir: /var/lib/docker #docker根目录 Debug Mode: false Registry: https://index.docker.io/v1/ Labels: #镜像仓库 Experimental: false Insecure Registries: 127.0.0.0/8 Registry Mirrors: #镜像源加速配置 https://gokba8fb.mirror.aliyuncs.com/ Live Restore Enabled: false
(3)docker启动、重启、关闭命令
- 启动:systemctl start docker
- 守护进程重启:systemctl daemon-reload
- 重启docker服务:systemctl restart docker
- 关闭docker:systemctl stop docker
- 开机自启动(此配置方便日常使用):systemctl enable docker
2.镜像管理
(1)查看所有镜像:docker images
(2)搜索镜像:docker search nginx
OFFICIAL为ok的时候表明是官方制作的镜像,其他为第三方开发者开发的镜像
(3)拉取镜像下载:docker pull nginx
自动拉取最新版本的nginx镜像,拉取完镜像可使用命令docker images查看刚刚拉取的镜像。若要指定拉取版本,则加上版本号即可:docker pull nginx:1.17.10
可拉取nginx多个版本的镜像
(4)导出镜像:docker save nginx:1.17.10 > nginx.tar
(5)导入镜像:docker load < nginx.tar
(6)删除镜像:docker rmi nginx:1.17.10
若遇到正在运行的镜像是无法直接删除的,使用docker ps查到正在运行的容器id,再使用命令docker rm -f 783168afc992删除正在运行的镜像,最后使用docker rmi nginx:1.17.9成功删除镜像
(7)更改镜像名:docker tag nginx:1.17.10 dnginx:v1.17.10
原镜像和更改名称、tag的镜像镜像id是一致的,相当于将原有镜像复制并重新命名,本质上用的是同一个镜像
(8)查看镜像创建历史:docker history nginx:1.17.10
3.容器管理
(1)运行容器:docker run -d --name ping busybox ping 114.114.114.114
(2)查看正在运行的容器docker ps
查看所有正在运行的容器:docker ps
查看所有的容器包含正在运行和未运行的容器:docker ps -a
(3)查看容器进程:docker top ping
(4)查看资源占用:docker stats ping
(5)容器停止:docker stop ping\docker kill ping
建议日常使用docker stop
(6)容器启动:docker start ping
(7)重启容器:docker restart ping
(8)暂停容器:docker pause ping
可以看到暂停后status下有Paused的状态,使用命令docker logs -f ping可以看运行日志不在运行
(9)重新运行暂停的容器:docker unpause ping
(10)强制删除容器:docker rm -f ping
(11)执行命令:docker exec -it ping ls
查看容器中文件
(12)进入容器中操作:docker exec -it ping sh
想从容器中退出的话输入exit
(13)复制文件:docker cp ping:/etc/hosts .
可以将容器中的hosts文件复制到我们本地,如果想要将我们本地的文件复制到容器中则可以使用如下命令:docker cp hosts ping:/tmp
(14)查看容器日志:docker logs -f ping
(15)查看容器/镜像的元信息:docker inspect ping
容器创建时间、名称、网络等信息
上述提取出的格式是json格式,如果我们只想查出某个信息则可以输入如下指令:docker inspect -f '{{.Created}}' ping
(16)查看容器内文件结构:docker diff ping
检查容器里文件结构的更改