镜像相关命令

镜像查看

docker images

搜索在线镜像

docker search redis

拉取镜像

docker pull redis

删除镜像

docker rmi 镜像ID|镜像名称

删除所有镜像

docker rmi docker images -q

删除所有none镜像

docker rmi $(docker images | grep “none” | awk ‘{print $3}’)

所有none镜像的容器,在删除

docker stop $(docker ps -a | grep “Exited” | awk ‘{print $1 }’) //停止容器
docker rm $(docker ps -a | grep “Exited” | awk ‘{print $1 }’) //删除容器
docker rmi $(docker images | grep “none” | awk ‘{print $3}’) //删除镜像

镜像打标签

docker tag 镜像名称 用户名/镜像名:版本

上传镜像

docker push 用户名/镜像名:版本

容器相关镜像

查看容器

docker ps -a
docker ps -l #最后一次运行的容器
docker container ls

启动容器

docker run
docker 常用命令 - 图1

进入以守护进程运行的容器

docker exec -it 容器名称 /bin/sh

启动容器

docker start 容器名称

停止容器

docker stop 容器名称

文件拷贝

外部文件拷贝到容器文件

docker cp 宿主机文件或目录 容器名称:容器目录

容器文件拷贝到外部文件

docker cp 容器名称:容器目录 宿主机文件或目录

目录挂载

创建容器时添加的-v参数

docker run -di -v /usr/local/my.txt:/usr/local/my.txt —name=redis1 redis
注意:如果共享的是多级目录,可能会出现权限不足的提示。
这是因为centos7的安全模块selinux把权限禁止了,需要添加参数选项 —privileged=ture.

查看容器ip地址

docker inspect 容器名称|ID #所有信息
docker inspect —format=’{{.NetworkSettings.IPAddress}}’ 容器名称|ID

删除容器

docker rm 容器名称|容器ID

容器备份与迁移

将容器保存为镜像

docker commit 容器名称 镜像名称
docker commit mynginx mynginx_i

镜像备份

将镜像保存为tar文件

docker save -o mynginx.tar mynginx_i

恢复镜像

docker load -i mynginx.tar

网络配置

查看网络类型 bridge(桥接)、host(宿主机的网络空间)、none(不适用网络)、container(共享另外一个容器的网络)

docker network ls

docker network inspect bridge

创建一个host网络

docker run —name redis-test —network bridge—rm -d redis

-h 指定主机名
—rm 关闭之后自动删除
—dns
—dns-search
—add-host www.baidu.com:1.1.1.1

—nsetwork container:b1 共享容器b1的网络空间
—nsetwork host 共享宿主机的ip地址
—net 指定使用哪个网络
-v 挂载存储卷

创建一个自定义网络

docker network create -d bridge —subnet “172.26.0.0./16” —gateway “172.26.0.1” dockernetwork1