docker 常用命令总结

镜像常用操作

提示有权限问题,请在命令前加sudo

操作命令举例备注
登录docker hubdocker login -u xxx -p xxxdocker login -u 用户名 -p 密码
拉取镜像docker pull NAME[:TAG]docker pull mysql:5.6
上传镜像docker push NAME[:TAG]docker push mydocker:v1先登录
查看本地镜像docker images [-a/q] NAMEdocker images ubuntua【全部】
q【只显示ID】
删除镜像docker rmi [-f] IMAGE[:TAG] [IMAGE...]docker rmi mysql:5.6 redisf【强制删除】
标记镜像docker tag SIMAGE TIMAGEdocker tag ubuntu:18.10 cool/ubuntu:v1
导出镜像docker save -o xxx.tar IMAGE[:TAG] [IMAGE...]docker save -o dockers.tar mysql redis:4.0可以一次性导出多个镜像
导出镜像并压缩docker save IMAGE[:TAG] [IMAGE...]|gzip > xxx.tar.gzdocker save mysql:5.7 node:8gzip > app.tar.gz
导入镜像docker load [-i] xxxdocker load -i xxx.tar
docker load<xxx.tar.gz
用于镜像备份

容器常用操作

操作命令举例备注
创建容器docker run/create [-i/d/t/p/v/-name/-link] IMAGE [COMMAND]docker run --name nginx -p 80:80 -v /data:/data --link redis:redis -d nginx:latest
docker run -it nginx:latest /bin/bash
it【以交互模式运行容器】
p【端口映射,格式为:主机(宿主)端口:容器端口】
--name【指定容器名称】
--link【链接其他容器】
d【后台运行容器】
v【文件映射 格式为 本地文件:容器文件】
create只是创建容器并不运行
启动/停止/重启容器docker start/stop/restart CONTAINER [CONTAINER ...]docker start redis nginx
docker start 09b93464c2f7
可以使用容器名称或ID,支持一次操作多个容器
删除容器docker rm [-f/v] CONTAINER [CONTAINER ...]docker rm nginxf【强制删除】
v【同时删除容器映射的本地文件或目录】
在容器中执行命令docker exec -it CONTAINER /bin/bashdocker exec -it 9df70f9a0714 /bin/bash
查看容器列表docker ps [-a/n/q]docker ps
docker ps -aq
a【列出所有容器包括停止运行的容器】
n【列出最近创建的n个容器】
q【静默模式,只显示容器编号】
容器与主机之间的数据拷贝docker cp SPATH DPATHdocker cp /www/runoob 96f7f14e99ab:/www/
docker cp 96f7f14e99ab:/www /tmp/
不论容器是否在运行,都可拷贝成功
获取容器/镜像的元数据docker inspect IMAGE/CONTAINERdocker inspect mysql:5.6
连接到正在运行中的容器docker attach CONTAINERdocker attach --sig-proxy=false nginx--sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器
暂停/取消暂停容器docker pause/unpause CONTAINERdocker pause mysql
从容器创建一个新的镜像docker commit [-a/c/m/p] CONTAINER IMAGE[:TAG]docker commit -a "我" -m "修改配置" a404c6c174a2 my-nginx:v1a【镜像作者】
c【使用Dockerfile指令来创建镜像】
m【备注信息】
p【在commit时,将容器暂停】
导出容器docker export [-o] CONTAINERdocker export -o mysql.tar a404c6c174a2
导入容器镜像docker import xxx.tar IMAGE[:TAG]docker import nginx-test.tar nginx:imp使用此方式导入的镜像,镜像所有历史会丢失

docker环境日常维护快捷操作

操作命令备注
停止所有运行的容器sudo docker stop $(sudo docker ps -q)
启动所有容器sudo docker start $(sudo docker ps -aq)
删除所有容器sudo docker stop $(sudo docker ps -q)&&sudo docker rm $(sudo docker ps -aq)删除容器要确保容器处于停止状态
删除untagged images镜像sudo docker rmi &dollar;(sudo docker images | grep "^<none>" | awk "{print $3}")
删除所有镜像sudo docker rmi $(sudo docker images -q)删除镜像要确保镜像没有被容器引用
查看容器IP端口sudo docker inspect --format='{{.NetworkSettings.IPAddress}}' 99c83edf2af1

相关推荐