小试牛刀
docker -v
docker --version
docker --help
docker run hello-world
镜像操作
查看本地已有的镜像
docker images
-a :列出本地所有的镜像(含中间映像层)
-q :只显示镜像ID
--digests :显示镜像的摘要信息
--no-trunc :显示完整的镜像信息
查找镜像
docker search NAME:[TAG]
--no-trunc : 显示完整的镜像描述
-s : 列出收藏数不小于指定值的镜像。
--automated : 只列出 automated build类型的镜像
docker search mysql
拉取镜像
docker pull NAME:[TAG]
docker pull mysql
docker pull mysql:tag
删除镜像
docker rmi image-id
docker rmi mysql:tag
docker rmi -f 镜像ID/镜像名
docker rmi -f 镜像名1:TAG 镜像名2:TAG
docker rmi -f $(docker images -qa)
更改镜像名和标签
docker tag NAME[:tag] NEW_NAME[:tag]
docker tag 镜像id NEW_NAME[:tag]
查看镜像详情
docker inspect 镜像名
docker history <image>
提交镜像
docker commit提交容器副本使之成为一个新的镜像
docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名] -p=true 提交时暂停容器运行
导入导出镜像
docker save -o xxx.tar 容器:标签或容器id
docker load < xxx.tar
将本地的镜像上传远程镜像仓库
- 需要先登录Docker远程镜像仓库,默认登录官方仓库:DockerHub
docker login
docker push 镜像名:标签
docker logout
- 也可以使用阿里云镜像服务
$ sudo docker login --username=xxx registry.cn-shenzhen.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/xxx/yyy:[镜像版本号]
$ sudo docker push registry.cn-shenzhen.aliyuncs.com/xxx/yyy:[镜像版本号]
$ sudo docker pull registry.cn-shenzhen.aliyuncs.com/xxx/yyy:[镜像版本号]
容器操作
docker run
docker run [options] image-name
docker run -d -p 80:80 nginx
docker run -d -P nginx
docker run -it -rm busybox
docker run -it alpine
docker run --rm -it alpine
基本命令
docker ps
docker ps -a
docker start container-name/container-id
docker stop container-name/container-id
docker restart container-name/container-id
docker pause container-id
docker unpause container-id
docker kill container-name/container-id
docker rm container-id
docker rm -v $(docker ps -aq -f status=exited)
docker rename container-id new-container-name
docker top 容器ID
docker inspect 容器ID
docker logs container-name/container-id
docker logs -f -t --tail 容器ID
进入容器
docker attach container-id
docker exec -it container-id /bin/bash
退出容器
exit
Ctrl+P and Ctrl+Q
容器和主机之间复制文件
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Copy files/folders between a container and the local filesystem
Use '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a
container source to stdout.
Options:
-a, --archive Archive mode (copy all uid/gid information)
-L, --follow-link Always follow symbol link in SRC_PATH
导入导出容器快照
docker export CONTAINER ID > xxx.tar
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
容器数据卷
docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
docker inspect 容器ID
docker run -it --name dc02 --volumes-from dc01 lee/centosfromfile