docker使用的基本知识
docker使用的基本知识
zs13简单入门
通过docker部署mysql
1 | docker run -d \ |
- docker run : 创建并运行一个容器,-d是让容器在后台运行
- –name mysql : 给容器起个名字,必须唯一
- -p 3306:3306 : 设置端口映射
宿主端口:容器端口
- -e KEY=VALUE : 设置环境变量
- mysql : 镜像名
[repository]:[tag]
镜像名:镜像版本 不填默认latest
基础命令
常见命令
- docker pull 获取镜像
- docker build 自定义镜像 需要 dockerfile文件
- docker save 保存docker镜像
- docker load 加载本地镜像
- docker push 上传镜像到仓库
- docker stop/start 开启/关闭容器进程
- docker ps 查看容器
- docker rm/rmi 删除容器/镜像
- docker logs 查看日志
- docker exec 进入容器
通过部署nginx联系
拉取nginx:
1 | docker pull nginx |
查看本地镜像:
1 | docker images |
保存镜像:
1 | docker save -o nginx.tar nginx:latest |
删除镜像:
1 | docker rmi nginx:latest |
加载镜像:
1 | docker load -i nginx.tar |
启动nginx:
1 | docker run -d --name nginx -p 80:80 nginx |
查看容器状态:
1 | docker ps |
启动一个新容器:
1 | docker run -d --name nginx -p 80:80 nginx |
停止容器:
1 | docker stop nginx |
启动一个旧容器容器:
1 | docker start nginx |
查看日志:
1 | docker logs nginx |
进入容器内部:
1 | docker exec -it nginx bash |
部分可选配置
设置命令别名修改~/.bashrc
文件
1 | alias dps = 'docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Names}}"' |
Docker数据卷
官方定义:数据卷
是一个虚拟目录,是容器内目录
与宿主机目录
之间映射的桥梁。
命令 | 说明 | 文档地址 |
---|---|---|
docker volume create | 创建数据卷 | docker_volume_create |
docker volume ls | 查看所有数据卷 | docker_volume_ls |
docker volume rm | 删除指定数据卷 | docker_volume_rm |
docker volume inspect | 查看某个数据卷的详情 | docker_volume_inspect |
docker volume prune | 清楚数据卷 | docker_volume_prune |
简单使用
1 | //创建挂载数据卷的nginx |
查询数据卷:
1 | docker volume ls |
查看详细数据:
1 | docker volume inspect html |
本地挂载
- -v 本地目录:容器内目录
Dockerfile
Dockerfile基础命令
指令 | 说明 | 示例 |
---|---|---|
FROM | 指定基础镜像 | FROM centos:6 |
ENV | 设置环境变量,可在后面指令使用 | ENV key value |
COPY | 拷贝本地文件到镜像的指定目录 | CPOY ./jrell.tar.gz /tmp |
RUN | 执行Linux的shell命令,一般是安装过程的命令 | RUN tar -zxvf /tmp/jrell.tar.gz&& EXPORTS path=/tmp/jrell:$path |
EXPOSE | 指定容器运行时监听的端口,是给镜像使用者看的 | EXPOSE 8080 |
ENTRYPOINT | 镜像中运用的启动命令,容器运行时调用 | ENTRYPOINT java -jar xx.jar |
使用基础镜像:
1 | # 指定基础镜像 |
使用别人打包好的镜像:
1 | # 基础镜像 |
docker build命令使用
当编写好Dockerfile,可以使用docker build来进行打包
1 | docker build -t myImage:10 . |
- -t:是给镜像起名,格式为repository:tag的格式,不指定tag时,默认为latest
- . : 是指定Dockerfile所在的目录,如果就在当前目录,则指定为“.”
Docker 网络
默认情况下,所有容器都是以bridge方式连接到docker的一个虚拟网桥(docker0; 172.17.0.1/16)上 加入自定义网络的容器才可以通过容器名相互访问。
命令 | 说明 | 文档地址 |
---|---|---|
docker network create | 创建一个网络 | docker newwork create |
docker network ls | 查看所有网络 | docker network ls |
docker network rm | 删除指定网络 | docker network rm |
docker network pruune | 清除未使用的网络 | docker network pruune |
docker network connect | 是指定容器加入某网络 | docker network connect |
docker network disconnect | 是指定容器连接离开网络 | docker network disconnect |
docker newtwork inspect | 查看网络详细信息 | docker network inspect |
创建一个网络:
1 | docker network create 名字 |
链接一个网络:
1 | docker network connect 网络名字 容器名字 |
创建时链接一个网络:
1 | docker run -d --name 名字 -p 外部duank:内部端口 --network 网络名 镜像名 |
评论
隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果