docker和k8s常用的命令
一. docker常用的命令
1. docker ps:列出所有的运行的容器
2. docker ps -a: 列出现在和以前运行的容器
3. docker images:列出所有的镜像
4. docker rmi -f 镜像id :删除镜像
5. docker rm 容器id:删除容器
6. docker run :创建并重启容器。
docker -run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:8.0
持久化数据 + 指定时区(推荐)
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -p 3306:3306 -v /my/mysql/data:/var/lib/mysql -v /my/mysql/conf:/etc/mysql/conf.d mysql:8.0
本地路径
/my/mysql/data、/my/mysql/conf可根据实际创建
容器启动后 MySQL 数据将保存在本地,防止容器删掉数据丢失
| 参数 | 含义 |
|---|---|
-d |
后台运行容器 |
--name mysql |
容器名称为 mysql |
-e MYSQL_ROOT_PASSWORD=123456 |
设置 root 用户密码 |
-p 3306:3306 |
本机 3306 映射到容器 3306 端口 |
mysql:8.0 |
使用官方 MySQL 8.0 镜像 |
7. docker start: 启动已经有的容器。 docker restart :重启容器。
docker stop 容器id:停止当前正在运行容器。 docker kill 容器id:强制停止当前正在运行的容器。
8. docker logs -f 容器名称:查看容器运行的日志
9. docker exec -it 容器id /bin/bash :进入容器的内部
10. 容器数据卷:做可持久化操作,将容器内的数据挂在到虚机上面来,防止容器删除,数据丢失
直接使用命令来挂载 -v
docker run -it -v 主机目录:容器内目录
docker run -it -v /home/ceshi:/home centos /bin/bash
二. 如何创建一个镜像
1. 从远程仓库获取 docker pull
2. 从他人那里拷贝
1) docker save -o mysql.tar mysql 生成压缩包
2)scp -r 命令拷贝
3)docker load -i mysql.tar
3. 自己制作dockerfile文件
FROM # 基础镜像,一切从这里开始构建
MAINTAINER :镜像谁构建的,作者+邮箱。
LABEL # 现在推荐写 LABEL,代替上面的那个
RUN # 镜像构建的时候需要运行的命令
CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代。
ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可以追加命令
| 特性/指令 | RUN | CMD | ENTRYPOINT |
|---|---|---|---|
| 执行时机 | 构建镜像时 | 容器启动时 | 容器启动时 |
| 是否产生新镜像层 | ✅ 是 | ❌ 否 | ❌ 否 |
是否可被 docker run 参数覆盖 |
❌ 不涉及 | ✅ 会覆盖 | ❌ 只会附加参数 |
| 常见用途 | 安装依赖、配置环境 | 设置默认命令或参数 | 固定启动命令 |
ADD # 拷贝本地的文件或者目录到镜像中。支持自动解压和下载远程文件到本地的目录。
ADD https://example.com/app.tar.gz /app/
ADD app.tar.gz /app/
COPY # 类似ADD,将我们文件拷贝到镜像中
COPY ./src /app/src
WORKDIR # 镜像的工作目录:WORKDIR /app
VOLUME # 挂载的目录
EXPOSE # 保留端口配置 (springboot)8080
ENV # 构建的时候设置环境变量。ENV TZ=Asia/Shanghai \ JAVA_OPTS=""
4. 如何将springboot项目打包成一个docker镜像
1. 首先将springboot项目打包成一个jar包
2. 编写一个dockerfile文件
3. 将生成的jar包和dockerfile文件放在一个目录下面
4. 通过docker build -t 镜像文件名,生成一个镜像文件
5. 通过docker run -d --name -p 主机端口:映射容器端口 镜像名称 启动
更多推荐
所有评论(0)