docker 经常使用命令总结

镜像经常使用操做

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

操做 命令 举例 备注
登陆docker hub docker login -u xxx -p xxx docker login -u 用户名 -p 密码
拉取镜像 docker pull NAME[:TAG] docker pull mysql:5.6
上传镜像 docker push NAME[:TAG] docker push mydocker:v1 先登陆
查看本地镜像 docker images [-a/q] NAME docker images ubuntu a【所有】
q【只显示ID】
删除镜像 docker rmi [-f] IMAGE[:TAG] [IMAGE...] docker rmi mysql:5.6 redis f【强制删除】
标记镜像 docker tag SIMAGE TIMAGE docker 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.gz docker save mysql:5.7 node:8 gzip > app.tar.gz
导入镜像 docker load [-i] xxx docker 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 nginx f【强制删除】
v【同时删除容器映射的本地文件或目录】
在容器中执行命令 docker exec -it CONTAINER /bin/bash docker exec -it 9df70f9a0714 /bin/bash
查看容器列表 docker ps [-a/n/q] docker ps
docker ps -aq
a【列出全部容器包括中止运行的容器】
n【列出最近建立的n个容器】
q【静默模式,只显示容器编号】
容器与主机之间的数据拷贝 docker cp SPATH DPATH docker cp /www/runoob 96f7f14e99ab:/www/
docker cp 96f7f14e99ab:/www /tmp/
不论容器是否在运行,均可拷贝成功
获取容器/镜像的元数据 docker inspect IMAGE/CONTAINER docker inspect mysql:5.6
链接到正在运行中的容器 docker attach CONTAINER docker attach --sig-proxy=false nginx --sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器
暂停/取消暂停容器 docker pause/unpause CONTAINER docker pause mysql
从容器建立一个新的镜像 docker commit [-a/c/m/p] CONTAINER IMAGE[:TAG] docker commit -a "我" -m "修改配置" a404c6c174a2 my-nginx:v1 a【镜像做者】
c【使用Dockerfile指令来建立镜像】
m【备注信息】
p【在commit时,将容器暂停】
导出容器 docker export [-o] CONTAINER docker 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
相关文章
相关标签/搜索