待整理
1 基础命令
- 显示docker相关信息
Client:
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.10.4
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.17.2
Path: /usr/libexec/docker/cli-plugins/docker-compose
scan: Docker Scan (Docker Inc.)
Version: v0.23.0
Path: /usr/libexec/docker/cli-plugins/docker-scan
Server:
Containers: 6
Running: 6
Paused: 0
Stopped: 0
Images: 6
Server Version: 23.0.2
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file # 表示存在本地, 是可以让他存放在远端的
Cgroup Driver: cgroupfs # 限制与隔离的驱动
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: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
runc version: v1.1.5-0-gf19387a
init version: de40ad0
Security Options:
apparmor
seccomp
Profile: builtin
Kernel Version: 5.4.0-146-generic
Operating System: Ubuntu 20.04.6 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.84GiB
Name: ubtest
ID: fb514c1e-58bd-4be0-ad81-c8d7c4413f53
Docker Root Dir: /var/lib/docker # 数据存放的位置
Debug Mode: false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false #热更新 生产环境 设置为true ,表示重启docker ,容器不会重启- 查看版本
Server: Docker Engine - Community
Engine:
Version: 23.0.2
API version: 1.42 (minimum version 1.12)
Go version: go1.19.7
Git commit: 219f21b
Built: Mon Mar 27 16:16:18 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.20
GitCommit: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
runc:
Version: 1.1.5
GitCommit: v1.1.5-0-gf19387a
docker-init:
Version: 0.19.0
GitCommit: de40ad02 镜像操作
2.1 搜索
2.2 拉取
2.3 查看
2.4 标签
# docker tag 镜像id或者镜像名:版本 新的...
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 0e901e68141f 3 days ago 142MB
docker tag 0e901e68141f nginx:v1.0
# 或
docker tag nginx:latest nginx:v1.0
# 查看 ,原来的还在的, 另外一个并不会占用空间的.
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v1.0 0e901e68141f 3 days ago 142MB
nginx latest 0e901e68141f 3 days ago 142MB
docker rmi nginx:latest # 相当于删除标签2.5 登录和推送
docker login #默认登录官方的 hub库
docker login hub.yy.com # 登录自己的镜像仓库. hub.yy.com 自己弄去
# 登录你的aliyun 的 仓库.
docker login --username=... register.cn-hz-aliyuncs.com
# 将你的镜像tag 改成你的 仓库名. myhub是你的仓库名
docker tag 0e901e68141f myhub/nginx:latest
# 推送镜像
docker image push myhub/nginx:latest
#等价与
docker push myhub/nginx:latest2.6 删除
2.7 编译打包
2.8 save && load
!!! tip 当你镜像不能通过仓库进行分享或传输, 我们本地保存然后给其他人.
3 容器操作
3.1 创建,启动,停止
# 创建
docker create -it --name nginx nginx:latest
docker ps # 没有看到, 只是创建了.
# 启动容器, 使用容器名或容器id
docker start nginx
docker ps
# 优雅停止, 使用容器名或容器id
docker stop nginx
# 强制停止, 使用容器名或容器id
docker kill nginx
# 停止容器里的进程
docker pause nginx
docker ps # 查看, 容器还是运行的, status 显示 pause
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
316e566c99fa nginx:latest "/docker-entrypoint.…" 4 minutes ago Up 7 seconds (Paused) 80/tcp nginx
docker unpause nginx # 重新启动进程3.2 运行
!!! tip 相比较前面的 create start 这个更常用, 直接就创建并且启动了容器
#交互的,直接进入该容器,如果退出exit,该容器就退出了
# -it 交互式 前台, 运行bash 命令 ,-i=--interactive -t=tty
# nginx:latest 镜像名, 先会查看本地有没有这个镜像,如果没有则从 docker.io上拉取
# --name 容器名
docker run -it --name abc nginx:latest bash
# 后台 -d
docker run -itd nginx:latest
# 端口映射,将容器里的80端口映射到本机的8080端口
docker run -itd -p 8080:80 nginx:latest
# 退出会自动删除容器
docker run -it --rm nginx:latest