docker常用命令
1、镜像相关
# 查看本地镜像
docker images
# 搜索镜像
docker search [image]
# 下载镜像
docker pull [image]
# 删除镜像
docker rmi [image]
2、容器相关
# docker查看所有运行的容器
docker ps [-a]
# -a -> 查看所有容器,包括未运行的
# 新建并运行容器(容器如果已经存在,则使用 docker start 命令启动) docker run [options] [image] # options 常用启动选项: # -d -> 后台运行 # -p 宿主IP:容器IP -> 将容器IP映射到宿主IP # -v 宿主file/path:容器file/path -> 将容器的file/path挂载到宿主的file/path # --name [name] -> 为容器命名 # --restart always -> 设置容器随docker一起自动启动 # 删除容器 docker rm [containID/containName] [options] # options 常用选项: # -f -> 强制删除容器
# 启动容器/停止容器/重启容器
docker start/stop/restart [containID/containName]
# 进入容器
docker exec -it [containID/containName] bash
或
docker exec -it [containID/containName] /bin/bash
(如果容器是基于alpine 镜像的 最后的 /bin/bash 需要换成 /bin/sh )
# 执行容器的命令
docker exec -it [containID/containName] [commond]
# 示例,执行 redis-test 容器的 redis-cli 命令
docker exec -it redis-test redis-cli -a "123456"
# 说明: 这句话执行了 redis-test容器的 redis-cli 命令,-a 命令的作用是输入密码
3、Dockerfile
Dockerfile
----------
FROM
WORKDIR
COPY
RUN
CMD
----------
FROM baseImage:
基于基本的镜像,必填
WORKDIR /the/workdir/path:
用作工作目录的绝对或相对路径。将在不存在的情况下创建。
为下面的任何ADD、COPY、CMD、ENTRYPOINT或RUN指令设置工作目录。
COPY:
拷贝到镜像
RUN:
执行shell脚本,在构建的时候执行
CMD:
执行shell脚本,容器运行时执行
CMD ["java","-Xms512m","-Xmx512m","-XX:MetaspaceSize=256m","-XX:MaxMetaspaceSize=256m","-jar","docker-demo-1.0.1.jar"]
4、扩展
1)查看docker run启动参数命令
安装 runlike
pip install runlike
查看容器启动参数
runlike -p <容器名>|<容器ID>
2)修改容器启动参数
格式:docker update [OPTIONS] [CONTAINER...]
例:
docker update --restart=always eureka-server
3) docker logs 查看容器实时日志
docker logs -f -t --tail=100 [容器]
参数说明:
-f:查看实时日志
-t:查看日志产生的时间
-tail=100:查看最后的100条日志
[容器]:容器名称
4)docker容器 和 主机之间进行文件拷贝
- 从 主机 拷贝到 docker 容器:
docker cp [主机文件] [容器]:[容器路径]
例如:
docker cp ./test.txt mysql:/opt/
- 从 docker容器 拷贝到 主机:
docker cp [容器]:[容器路径] [主机文件]