1 镜像相关
1.1 查看镜像列表
docker images
1.2 镜像搜索
docker search ubuntu
1.3 拉取镜像
docker pull 镜像名
docker pull 镜像名:Tag
1.4 打包静像
docker save -o nginx.tar 静像名:tag
1.5 加载tar包静像
docker load -i nginx.tar
1.6 加载tar包静像
docker tag 静像ID name:v1
docker rename 原容器名 新容器名
1.7 将容器打包成镜像
-a 为作者
-m 为描述信息
-b2a3d7b67722 运行中的容器的ID
docker commit 容器ID 镜像名:v1
docker commit -a="angus" -m="desc" b2a3d7b67722 tomcat:1.0
1.8 删除镜像
docker rmi -f 镜像名/镜像ID
docker rmi $(docker images -q) $删除所有镜像
docker rmi $(docker images | grep none | awk '{print $3}' | sort -r) #删除所有镜像
2 容器相关
2.1 创建容器
参数含义:
· -it 表示 与容器进行交互式启动
· -d 表示可后台运行容器 (守护式运行)
· -p 将容器的端口映射到宿主机上,通过宿主机访问内部端口
· -v 将容器内的指定文件夹挂载到宿主机对应位置
· -- name 给要运行的容器 起的名字
· -- restart 自动重启
· /bin/bash 交互路径
docker run -it -d --name mynginx -p 80:80 --restart=always -v /home/user:/user/bin nginx:1.0 /bin/bash
2.2 启动/停止/重启
docker start 容器ID/容器名称 # 启动容器
docker stop 容器ID/容器名称 # 停止容器
docker restart 容器ID/容器名称 # 重启容器
docker kill 容器id # 强制停止容器
2.3 删除容器
docker rm 容器ID/容器名称
docker rm -f 容器ID/容器名称 #-f 强制删除
docker rm -f $(docker ps -aq) # 删除所有的容器
2.4 查看容器
docker ps # 运行中的容器
docker ps -a # 所有的容器
docker ps -l # 所有的容器
docker ps |grep nginx # 根据名称过滤容器
docker ps |grep 80 # 根据端口号过滤容器
docker ps -a |grep 80
docker stats #查看容器的占用情况
docker ps -q | wc -l #查看运行容器的数量
2.5 查看容器日志
docker logs -f --tail 200 容器名/容器ID
2.6 容器复制文件
物理cp到容器
docker cp /root/ml CONTAINER:/
容器cp到物理
docker cp CONTAINER:/root /root/ml
容器cp到物理(包含隐藏文件)
docker cp bc827d37fb0c:/root/. /root/ml
2.7 交互式进入容器内部
docker exec -it 容器ID bash
2.8 修改容器的可用内存大小
docker update -m 300m --memory-swap 1g bfc6039f87f7
2.9 容器挂载点
docker inspect 容器id #查看挂载点
docker volume ls #查看所有挂载点
docker volume rm 容器id #清除某个挂载点
docker volume prune #清除所有未引用的挂载点
3 网络相关
3.1 创建虚拟网络
–driver bridge 表示使用桥接模式
–subnet 192.168.1.0/16 表示子网ip 可以分配 192.168.1.2 到 192.168.255.255
–gateway 192.168.1.0 表示网关
–mynet 表示网络名
docker network create --driver bridge --subnet 192.168.1.0/16 --gateway 192.168.1.0 mynet
3.1 操作虚拟网络
docker network create default_network --默认briage
docker network ls
docker network rm my_network
docker network inspect my_network --查看网络详情