容器生命周期管理
- run
docker run :创建一个新的容器并运行一个命令
# docker run --name mynginx -d nginx:latest
- start/stop/restart
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
# docker start mynginx
- kill
docker kill :杀掉一个运行中的容器
# docker kill -s KILL mynginx
- rm
docker rm :删除一个或多个容器
# 删除所有运行中的容器
# docker rm -f $(docker ps -qa)
# docker rm -f mynginx01 mynginx02
- pause/unpause
docker pause :暂停容器中所有的进程
docker unpause :恢复容器中所有的进程
# docker pause mynginx
- create
docker create :创建一个新的容器但不启动它
# docker create --name mynginx nginx:latest
- exec
docker exec :在运行的容器中执行命令
# docker exec -it mynginx /bin/sh /root/nginx.sh
容器操作
- ps
docker ps : 列出容器
# docker ps -a (列出所有的容器)
- inspect
docker inspect : 获取容器/镜像的元数据
# docker inspect mysql:5.7
- top
docker top :查看容器中运行的进程信息,支持 ps 命令参数
# docker top mynginx
- attach
docker attach :连接到正在运行中的容器
# docker attach --sig-proxy=false mynginx
- events
docker events : 从服务器获取实时事件
# 显示docker 2016年7月1日后的所有事件。
# docker events --since="1467302400"
# 显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件
# docker events -f "image"="mysql:5.6" --since="1467302400"
- logs
docker logs : 获取容器的日志
# docker logs -f mynginx
# 查看容器mynginx从2016年7月1日后的最新10条日志
# docker logs --since="2016-07-01" --tail=10 mynginx
- wait
docker wait : 阻塞运行直到容器停止,然后打印出它的退出代码
# docker wait CONTAINERID
- export
docker export :将文件系统作为一个tar归档文件导出到STDOUT
# a404c6c174a2是CONTAINERID
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2
- port
docker port :列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口
# docker port mynginx
容器rootfs命令
- commit
docker commit :从容器创建一个新的镜像
# 参数说明
# -a :提交的镜像作者;
# -c :使用Dockerfile指令来创建镜像;
# -m :提交时的说明文字;
# -p :在commit时,将容器暂停。
docker commit -a "1351261434@qq.com" -m "mynginx" CONTAINERID mynginx:v1
- cp
docker cp :用于容器与主机之间的数据拷贝
# 复制/home下的a.txt到容器的lib目录下
docker cp /home/a.txt 0cd4ae823d4c:/lib
- diff
docker diff : 检查容器里文件结构的更改
# docker diff mysql57
镜像仓库
- login
docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
#docker login -u 用户名 -p 密码
- pull
docker pull : 从镜像仓库中拉取或者更新指定镜像
# docker pull mysql:5.7
- push
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker push mynginx:1.0
- search
# https://www.docker.com
docker search : 从Docker Hub查找镜像
# docker search mysql
本地镜像管理
- images
docker images : 列出本地镜像
- rmi
docker rmi : 删除本地一个或多个镜像
# docker rmi imageID(可以多个镜像,使用空格隔开)
# docker rmi c20987f18b13
- tag
docker tag : 标记本地镜像,将其归入某一仓库
- build
docker build 命令用于使用 Dockerfile 创建镜像
# .是当前目录下的dockerfile文件
# docker build -t mynginxu:1.0 .
- history
docker history : 查看指定镜像的创建历史
# docker history mysql:5.7
- save
docker save : 将指定镜像保存成 tar 归档文件
# 将镜像mysql:5.7生成mysql57.tar文件
docker save -o mysql57.tar mysql:5.7
- load
docker load : 导入使用 docker save 命令导出的镜像
# 将mysql57.tar文件导入成为一个镜像
docker load < mysql57.tar
- import
docker import : 从归档文件中创建镜像
# 从镜像归档文件mysql57.tar创建镜像,命名为mysql:5.7
docker import mysql57.tar mysql:5.7