镜像
查看本地所有镜像
docker images
拉取远程镜像
docker pull centos/mysql-57-centos7
搜索镜像
docker search 镜像名称
docker删除镜像
docker rmi 镜像ID # 删除一个镜像
docker rmi `docker images -q` # 删除所有
save和export区别:
- docker save保存的是镜像(image),docker export保存的是容器(container);
- docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
- docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。
导入镜像
docker load -i *.tar
导出镜像
后面的镜像名称不能使用id代替,否则导入的时候会没有名称
docker save -o redis.tar redis:4.0
容器
查看容器
docker ps # 正在运行的
docker ps –a # 所有的
创建容器
docker run -di --name=容器名称 镜像名称:标签
# 目录挂载和映射(创建容器的时候)
docker run -di \
-m 300M \ # 最大内存
--cpus=21 \ # 最大使用21个核
-v /usr/local/myhtml:/usr/local/myhtml \ # 文件映射
-p 6379:6379 \ # 端口映射
--name=mycentos3 \ # 起名字
centos:7 # 镜像
一次性容器:有时候我们希望推出容器立即删除,添加—rm参数即可。
docker run -it --rm hub.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash
启动-停止-删除
docker start 容器名称(或者容器ID
# 停止容器
docker stop 容器名称(或者容器ID)
# 删除
docker rm 容器名称(容器ID)
登录容器
# 登录容器
docker exec -it 容器名称 (或者容器ID) /bin/bash
查看单个容器信息
docker inspect 容器名称(容器ID
# 直接查看ip:
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)
复制文件
# 复制到容器
docker cp 需要拷贝的文件或目录 容器名称:容器目录
# 从容器中复制出来
docker cp 容器名称:容器目录 需要拷贝的文件或目录
日志
docker logs 容器名
监视容器资源
# 查看容器消耗资源情况
docker stats name # 查看单个容器实时情况
docker stats --no-stream name # 查看单个容器当时情况
docker stats $(docker ps --format={{.Names}}) # 查看所有容器情况
容器导出
docker export b91d9ad83efa > tomcat80824.tar
容器导入
docker import tomcat80824.tar
docker import export.tar <IMAGE NAME>:<IMAGE TAG>
容器转新镜像
commit会在当前环境内,把容器理解生成一个新的镜像
docker commit <CONTAINER ID> <IMAGE NAME>:<IMAGE TAG>
docker commit b0cb1543380d elasticsearch:latest
容器打标签
docker tag <IMAGE ID> <IMAGE NAME>:<IMAGE TAG>
指定 GPU
docker run -it --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=1 需要启动的docker名称 bash
也可以--gpus=all