docker的常用命令

1.基础命令

1.1 启动docker

systemctl start docker

1.2 停止docker

systemctl stop docker

1.3 重启docker

systemctl restart docker

1.4 查看docker状态

systemctl status docker

1.5 开机启动docker

systemctl enable docker

1.6 查看docker概要信息

docker info

1.7 查看docker总体帮助文档

docker --help

1.8 查看docker某命令帮助文档

docker xxx --help

1.9 docker 删除虚悬镜像

# 命令用于删除未使用的映像。
# 如果指定了-a,还将删除任何容器未引用的所有映像。
docker image prune

2.docker镜像操作命令

2.1 查看docker镜像列表

docker images

查看本地所有镜像:
docker images -a 

显示结果:
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
ubuntu        latest    ba6acccedd29   15 months ago   72.8MB
hello-world   latest    feb5d9fea6a5   16 months ago   13.3kB
redis         6.0.8     16ecd2772934   2 years ago     104MB

2.2 查找docker镜像

docker search hellow-world

限制搜索5个:
docker search hellow-world --limit 5 

2.3 查看镜像容器所占的空间

docker system df

显示结果:
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          3         1         177MB     177MB (99%)
Containers      2         0         0B        0B
Local Volumes   0         0         0B        0B
Build Cache     0         0         0B        0B

2.4 删除docker镜像

docker rmi hellow-world

3.docker容器操作命令

3.1 容器列表

docker ps -a

-a 所有容器
不加-a 所有在运行的容器

3.2 创建交互式docker容器

docker run -it --name=masechoUbuntu ubuntu /bin/bash

-i 交互式
-t 终端
--name=XXX  给容器指定名称

运行之后会自动创建容器,并进入交互式命令终端

3.3 进入容器交互式命令退出

exit 退出容器交互式命令并停止容器 ctrl+p+q 退出容器交互式命令不停止容器

3.4 创建守护式docker容器

docker run -d --name=masechoRedis redis redis /bin/bash

3.5 启动容器

docker start 容器id或者容器名

3.6 停止容器

docker stop 容器id或者容器名

3.7 强制停止容器

docker kill 容器id或者容器名

3.8 删除已经停止的容器

docker rm 容器id

3.9 查看容器日志

docker logs 容器id

3.10 查看容器内运行的进程

docker top 容器id

3.11 查看容器内部细节

docker inspect 容器id

3.12 进入正在运行的容器并以命令行交互

exec进入容器交互式命令,启动新的进程,exit退出容器并不会停止运行(常用)
docker exec -it 容器id /bin/bash

attach进入容器交互式命令,不会启动新的进程,exit退出容器会停止运行(不常用)
docker attach 容器id

3.13 拷贝docker容器内的文件到当前主机

docker cp 容器id:容器内文件路径  当前主机目录
例:
docker cp 81f6f5b4f694:/tmp/a.txt  /usr/masecho-file/a.txt

3.14 导出docker整个容器映像文件到当前主机

docker export 容器id > 文件名
例:
docker export 81f6f5b4f694 >  backup.tar

3.15 导入docker整个容器的映像文件到当前docker images

cat 文件名 | docker import - 映像命名

例:
cat backup.tar | docker import - masecho/ubuntu:1.0

运行之后查看docker映像列表docker images -a(已经增加了masecho/ubuntu:1.0):

REPOSITORY       TAG       IMAGE ID       CREATED          SIZE
masecho/ubuntu   1.0       a2b23d8dbed8   30 seconds ago   72.8MB

3.16 docker提交新的映像

例:
在ubuntu中安装vim:
apt-get update
apt-get -y install vim
vim test.txt

docker commit -m="提交注释" -a="作者" 容器id 目标镜像名:版本号

docker commit -m="test" -a="masecho" bd403f5a1e61 masecho/ubuntu:1.1

提交结果:
REPOSITORY       TAG       IMAGE ID       CREATED              SIZE
masecho/ubuntu   1.1       d5c6121c4d7e   About a minute ago   182MB
masecho/ubuntu   1.0       a2b23d8dbed8   About an hour ago    72.8MB

3.17 docker提交映像到阿里云仓库


1. 登录阿里云Docker Registry
$ docker login --username=3978*****@qq.com registry.cn-hongkong.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在访问凭证页面修改凭证密码。

2. 从Registry中拉取镜像
$ docker pull registry.cn-hongkong.aliyuncs.com/masechodockerhub/masechoubuntu:[镜像版本号]
3. 将镜像推送到Registry
$ docker login --username=3978*****@qq.com registry.cn-hongkong.aliyuncs.com
$ docker tag [ImageId] registry.cn-hongkong.aliyuncs.com/masechodockerhub/masechoubuntu:[镜像版本号]
$ docker push registry.cn-hongkong.aliyuncs.com/masechodockerhub/masechoubuntu:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId][镜像版本号]参数。

4. 选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。

如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-hongkong.aliyuncs.com 作为Registry的域名登录。

5. 示例
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。

$ docker images
REPOSITORY                                                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry.aliyuncs.com/acs/agent                                    0.7-dfb6816         37bb9c63c8b2        7 days ago          37.89 MB
$ docker tag 37bb9c63c8b2 registry-vpc.cn-hongkong.aliyuncs.com/acs/agent:0.7-dfb6816
使用 "docker push" 命令将该镜像推送至远程。

$ docker push registry-vpc.cn-hongkong.aliyuncs.com/acs/agent:0.7-dfb6816
Contributors: masecho