Docker 镜像常用命令
搜索镜像
docker search *image_name*
docker search java
下载镜像
docker pull *image_name*
- docker pull java:8
- docker pull macro/eureka-server:0.0.1
列出镜像
docker images
删除镜像
docker rmi *image_name*
docker image rm *image_name*
- docker rmi java
- docker rmi -f java
- docker rmi -f $(docker images)
导出docker镜像
docker save *image_name* > /save/image/path/name.tar.gz
导出docker镜像
docker save *image_name* > /save/image/path/name.tar.gz
导入docker镜像
docker load < /save/image/path/name.tar.gz
docker镜像打标签时的注意事项
docker tag bac2 gandoufu/centos7-wget:latest
# bac2 是镜像的id
# gandoufu/centos7-wget 镜像的名称必须是自己的id名称/镜像名称
# latest 默认版本号,可以不用加
Docker 容器常用命令
新建并启动容器
docker run -d -p 91:80 nginx
列出容器
docker ps
停止容器
docker stop $ContainerId
强制停止容器
docker kill $ContainerId
启动已停止的容器
docker start $ContainerId
进入容器
- docker inspect --format "{{.State.Pid}}" $ContainerId
- nsenter --target "$pid" --mount --uts --ipc --net --pid
删除容器
- docker rm $ContainerId
- docker rm -f $(docker ps -a -q)
查看启动错误日志
docker logs $ContainerIdName(或者$ContainerId)
查看容器的IP地址(172.17.0.*)
docker inspect --format '{{ .NetworkSettings.IPAddress }}' $ContainerId
同步宿主机时间到容器
docker cp /etc/localtime $ContainerName:/etc/
在宿主机查看docker使用cpu、内存、网络、io情况
- 查看指定容器情况:docker stats $ContainerName
- 查看所有容器情况:docker stats -a
进入docker内部的bash
docker exec -it $ContainerName /bin/bash
docker run
docker run [OPTIONS] IMAGE根据镜像新建并启动容器。IMAGE是镜像ID或镜像名称
OPTIONS说明:
--name=“容器新名字”:为容器指定一个名称
-d:后台运行容器,并返回容器ID,也即启动守护式容器
-i:以交互模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端,通常与-i同时使用
-P:随机端口映射
-p:指定端口映射,有以下四种格式:
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
参数说明:
- i 进入交互模式
- t 创建一个虚拟终端
- d 后台运行
- rm 退出后自动删除容器
- name 创建的容器使用自定义的名字
- 注:i和t参数一起指定 (-it),在实际操作时发现只指定i参数时,attach到实例时会出现卡死的情况。
常用命令
- 构建、创建、启动相关容器:docker-compose up
- 列出所有容器:docker-compose ps
- 删除指定服务的容器:docker-compose rm eureka
- 对容器进行动态扩容:docker-compose scale eureka=3
- 停止相关容器:docker-compose stop eureka
- 启动相关容器:docker-compose start eureka