1 docker version
docker version :显示 Docker 版本信息。
docker version
例如:
Client: Docker Engine - Community
Version: 20.10.17
API version: 1.40
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:05:12 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 19.03.15
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 99e3ed8919
Built: Sat Jan 30 03:16:33 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.7
GitCommit: 0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb
runc:
Version: 1.1.3
GitCommit: v1.1.3-0-g6724737
docker-init:
Version: 0.18.0
GitCommit: fec3683
2 docker info
docker info : 显示 Docker 系统信息,包括镜像和容器数。
docker info
例如:
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
scan: Docker Scan (Docker Inc., v0.17.0)
Server:
Containers: 86
Running: 47
Paused: 0
Stopped: 39
Images: 22
Server Version: 19.03.15
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: systemd
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
Default Runtime: runc
Init Binary: docker-init
containerd version: 0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb
runc version: v1.1.3-0-g6724737
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-862.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.622GiB
Name: k8s-master
ID: IVPW:EA6H:6CKC:3HN3:7WUK:LC4G:WKBH:IRMJ:5QNN:XQZP:HB5C:PQOF
Docker Root Dir: /var/lib/docker
Debug Mode: false
Username: wangjinxiong
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://v16stybc.mirror.aliyuncs.com/
Live Restore Enabled: false
3 docker search
docker search : 从Docker Hub查找镜像
docker search 镜像名
例如:
相关视频:https://www.ixigua.com/7140605452999787021?logTag=b15eb22303e62ed604b8
4 docker pull
docker pull : 从镜像仓库中拉取或者更新指定镜像
docker pull 镜像名:版本号
例如:
docker pull centos:7
5 docker push
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。
docker push 仓库名称/镜像名:版本号
例如,登录公有仓库可以不带地址。
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: wangjinxiong
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/
Login Succeeded
相关视频: https://www.ixigua.com/7141005279504728607?logTag=f8f3925e38436c539e9c
6 Docker run 命令
docker run :创建一个新的容器并运行一个命令
docker run [OPTIONS] 镜像名
OPTIONS说明:
- -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
- -d: 后台运行容器,并返回容器ID;
- -i: 以交互模式运行容器,通常与 -t 同时使用;
- -P: 随机端口映射,容器内部端口随机映射到主机的端口
- -p:指定端口映射,格式为:主机(宿主)端口:容器端口
- -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
- –name=“nginx-lb”: 为容器指定一个名称;
- –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
- –dns-search example.com:指定容器DNS搜索域名,默认和宿主一致;
- -h “mars”: 指定容器的hostname;
- -e username=“ritchie”:设置环境变量;
- –env-file=[]:从指定文件读入环境变量;
- –cpuset=“0-2” or --cpuset=“0,1,2”:绑定容器到指定CPU运行;
- -m :设置容器使用内存最大值;
- –net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
- –link=[]: 添加链接到另一个容器;
- –expose=[]: 开放一个端口或一组端口;
- –volume , -v: 绑定一个卷
例如:
docker run -d -it -p 8801:8081 -p 5000:5000 --name nexus -v /home/nexus/nexus-data:/nexus-data --restart=always sonatype/nexus3
相关视频:https://www.ixigua.com/7141175079999635975?logTag=a8b15fbfc3b8bc3da59f
https://www.ixigua.com/7140606262332523044?id=7141650019991585293&logTag=5b26a9505b76f6bd41d0
7 Docker logs
docker logs : 获取容器的日志
docker logs [OPTIONS] 容器名或者容器ID
OPTIONS说明:
- -f : 跟踪日志输出
- –since :显示某个开始时间的所有日志
- -t : 显示时间戳
- –tail :仅列出最新N条容器日志
例如:
docker logs --since "2022-09-03" 84cf465565fd
相关视频:https://www.ixigua.com/7142125502529339911?logTag=d55cafb039ee756e37fa
8 docker ps
docker ps : 列出容器
docker ps [OPTIONS]
OPTIONS说明:
- -a :显示所有的容器,包括未运行的。
- -f :根据条件过滤显示的内容。
- –format :指定返回值的模板文件。
- -l :显示最近创建的容器。
- -n :列出最近创建的n个容器。
- –no-trunc :不截断输出。
- -q :静默模式,只显示容器编号。
- -s :显示总的文件大小。
例子:
列出所有在运行的容器信息。
$ docker ps
CONTAINER ID IMAGE COMMAND ... PORTS NAMES
09b93464c2f7 nginx:latest "nginx -g 'daemon off" ... 80/tcp, 443/tcp myedu.jb51.net
96f7f14e99ab mysql:5.6 "docker-entrypoint.sh" ... 0.0.0.0:3306->3306/tcp mymysql
列出最近创建的5个容器信息。
$ docker ps -n 5
CONTAINER ID IMAGE COMMAND CREATED
09b93464c2f7 nginx:latest "nginx -g 'daemon off" 2 days ago ...
b8573233d675 nginx:latest "/bin/bash" 2 days ago ...
b1a0703e41e7 nginx:latest "nginx -g 'daemon off" 2 days ago ...
f46fb1dec520 5c6e1090e771 "/bin/sh -c 'set -x \t" 2 days ago ...
a63b4a5597de 860c279d2fec "bash" 2 days ago ...
列出所有创建的容器ID。
$ docker ps -a -q
09b93464c2f7
b8573233d675
b1a0703e41e7
f46fb1dec520
a63b4a5597de
6a4aa42e947b
de7bb36e7968
43a432b73776
664a8ab1a585
ba52eb632bbd
...
相关视频:https://www.ixigua.com/7142332379724513800?logTag=863fd9e0fc847ee53da2
9 Docker exec
docker exec :在运行的容器中执行命令
docker exec [OPTIONS] 容器名称或者容器ID /bin/bash或者sh shell脚本(可选)
OPTIONS说明:
- **-d: **分离模式: 在后台运行
- **-i: **即使没有附加也保持STDIN 打开
- **-t :**分配一个伪终端
例子:
在容器 centos7中以交互模式执行容器内 /hello.sh 脚本:
hello world
在容器 mynginx 中开启一个交互模式的终端:
[root@k8s-master ~]
[root@f180fe9ec874 /]
相关视频: https://www.ixigua.com/7143589639704543775?logTag=c9edb3b9108afabf13ec
10 docker cp
docker cp :用于容器与主机之间的数据拷贝。
docker cp CONTAINER:SRC_PATH 宿主机目录
docker cp 宿主机目录 CONTAINER:SRC_PATH
例子:
将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker cp /www/runoob 96f7f14e99ab:/www/
将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。
docker cp /www/runoob 96f7f14e99ab:/www
将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
11 docker rmi
docker rmi : 删除本地一个或多个镜像。
docker rmi 镜像名
例子:
Untagged: wangjinxiong/redis:tools
Untagged: wangjinxiong/redis@sha256:ecdb394dacb443884e8cf05616aef26a7b81104370af3d686ba38e7470376444
Deleted: sha256:1e26be86b65f2c58f349110f0e38f0978c70ede89fdaad2b53ff21f86b6fd0c5
Deleted: sha256:5590a62fa149dcc7f7c99b3e80624e4bdcda98d0664a0fc456221e70e16e486d
12 docker rm
docker rm :删除一个或多个容器。 删除一个容器时要先停止容器。
nginx0904
nginx0904
13 docker tag
docker tag : 标记本地镜像,将其归入某一仓库。
docker tag 源镜像名:tag REGISTRYHOST/目标镜像名:tag
例子:
busybox:1.28.4 wangjinxiong/busybox
14 docker images
docker images : 列出本地镜像。
docker images [OPTIONS] [REPOSITORY/镜像名:TAG]
OPTIONS说明:
- -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
- *-digests :显示镜像的摘要信息;
- -f :显示满足条件的镜像;
- –format :指定返回值的模板文件;
- –no-trunc :显示完整的镜像信息;
- -q :只显示镜像ID。
例子
查看本地镜像列表。
REPOSITORY TAG IMAGE ID CREATED SIZE
wangjinxiong/nginx tools 79b2d70f65d0 15 hours ago 182MB
nginx <none> 2b7d6430f78d 12 days ago 142MB
nginx latest 605c77e624dd 8 months ago 141MB
15 Docker start/stop/restart
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
docker start 容器名或者容器ID
docker stop 容器名或者容器ID
docker restart 容器名或者容器ID
例子:
启动已被停止的容器nginx0905
docker start nginx0905
停止运行中的容器nginx0905
docker stop nginx0905
重启容器nginx0905
docker restart nginx0905
16 docker build
docker build 命令用于使用 Dockerfile 创建镜像。
docker build [OPTIONS] PATH | URL | -
OPTIONS说明:
- **–build-arg=[] 😗*设置镜像创建时的变量;
- **–cpu-shares 😗*设置 cpu 使用权重;
- **–cpu-period 😗*限制 CPU CFS周期;
- **–cpu-quota 😗*限制 CPU CFS配额;
- **–cpuset-cpus 😗*指定使用的CPU id;
- **–cpuset-mems 😗*指定使用的内存 id;
- **–disable-content-trust 😗*忽略校验,默认开启;
- **-f 😗*指定要使用的Dockerfile路径;
- **–force-rm 😗*设置镜像过程中删除中间容器;
- **–isolation 😗*使用容器隔离技术;
- **–label=[] 😗*设置镜像使用的元数据;
- **-m 😗*设置内存最大值;
- **–memory-swap 😗*设置Swap的最大值为内存+swap,"-1"表示不限swap;
- **–no-cache 😗*创建镜像的过程不使用缓存;
- **–pull 😗*尝试去更新镜像的新版本;
- **–quiet, -q 😗*安静模式,成功后只输出镜像 ID;
- **–rm 😗*设置镜像成功后删除中间容器;
- **–shm-size 😗*设置/dev/shm的大小,默认值是64M;
- **–ulimit 😗*Ulimit配置。
- **–squash 😗*将 Dockerfile 中所有的操作压缩为一层。
- –tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
- –network: 默认 default。在构建期间设置RUN指令的网络模式
例子:
使用当前目录的 Dockerfile 创建镜像,标签为 wangjinxiong/nginx:tools
docker build -t wangjinxiong/nginx:tools .
也可以通过 -f Dockerfile 文件的位置:
docker build -f /path/to/a/Dockerfile .
17 docker history
docker history : 查看指定镜像的创建历史。
docker history [OPTIONS] 镜像名
OPTIONS说明:
- -H :以可读的格式打印镜像大小和日期,默认为true;
- –no-trunc :显示完整的提交记录;
- -q :仅列出提交记录ID。
# docker history calico/kube-controllers:v3.15.5
IMAGE CREATED CREATED BY SIZE COMMENT
bc6083995e03 16 months ago /bin/sh -c #(nop) ENTRYPOINT ["/usr/bin/kub… 0B
<missing> 16 months ago /bin/sh -c #(nop) ADD file:ef5caf8cb05bdd166… 3.14MB
<missing> 16 months ago /bin/sh -c #(nop) ADD file:e7ce0b4cf3402a8e1… 49.7MB
<missing> 16 months ago /bin/sh -c #(nop) COPY dir:ab6ac5446356fc7b8… 11.4kB
<missing> 16 months ago /bin/sh -c #(nop) LABEL name=Calico Kuberne… 0B
<missing> 16 months ago /bin/sh -c #(nop) ARG GIT_VERSION 0B
18 docker commit
docker commit :从容器创建一个新的镜像。
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
- -a :提交的镜像作者;
- -c :使用Dockerfile指令来创建镜像;
- -m :提交时的说明文字;
- -p :在commit时,将容器暂停。
将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)