docker 指令 杂记


文章目录

  • docker 指令 杂记
  • 镜像
  • 容器
  • 网络
  • 磁盘卷 volume
  • Dockerfile


镜像

# 搜索 镜像
docker search 镜像名
# 下载 镜像
docker pull 镜像名
# 上传 镜像
docker push 镜像名
# 查看 镜像
docker images

容器

# 查看容器(活着的)
docker ps
# 查看容器(不管死活着的)
docker ps -a
# 进入容器
docker exec -it 容器名 启动命令

i:等待用户输入
t: 显示控制台

# docker 启动镜像
docker run -d -p 端口号:端口号 -v 内部挂在地址:外部挂在地址 --name 名称 镜像名

d: 后台守护进程启动
p: 端口映射
v: 文件映射
-P(大写):使用镜像默认打开的端口 随机生成对外映射端口 可与-p缓和使用
–name:镜像名称
–network:指定网络
–volumes-from: 指定挂在的容器

# 查看容器信息
docker inspect 容器名称 | grep 模糊查询(比如:IPAddress)
# docker  commit(容器打包成镜像)
docker commit -a "作者名" -m "备注"  容器名  镜像名:版本号

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

# docker 改名
docker tag 原镜像 新镜像名:版本号

网络

# docker 查看网络
docker network ls
# docker 创建网络
docker network create --driver=网络模式  网络名

网络模式有三种:

  • host:共享本地网络
  • bridge:容器内有自己的网络 docker生成三层路由器 ,共享本地网络
  • null:容器没有可用网络,只有自身的回环网络
# 查看网络配置信息
docker inspect 网络名
# 把容器连进去一个网络
docker network connect 网络名 容器名

磁盘卷 volume

# 查看磁盘卷
docker volume ls
# 创建磁盘卷
docker volume create 磁盘卷名
# 查看磁盘卷配置信息
docker inspect 磁盘卷名
# 删除未挂载的磁盘卷
docker volume prune

Dockerfile

Dockerfile:用来构建镜像

# 先用vim创建一个Dockerfile
vim Dockerfile
# FROM:导入基础镜像
FROM busybox
# MAINTAINER :维护人姓名
MAINTAINER 名称
# MAINTAINER :维护人姓名
MAINTAINER 名称
# VOLUME :内部挂在磁盘卷的位置
VOLUME /var/www
# WORKDIR:工作路径
WORKDIR /var/www
# EXPOSE:向外暴露的端口
EXPOSE 80/tcp 100/udp
# ENV:配置环境变量
ENV PATH=/usr/sbin:$PATH
# COPY :可以从外部复制到镜像里
COPY hello.html /
# ADD :与copy差不多但可以下载网络资源
#如果源文件是个归档文件(压缩文件,比如 .tar文件),
#则docker会自动帮解压。但是.tar.gz文件是不会自动解压的。
ADD 路径
# RUN:执行的脚本,尽量用下面的kv形式
RUN ["mkdir","/a"]
# 构建镜像
docker build -t 镜像名 工作路径当前路径就写"."

常用参数
-build-arg=[] :设置镜像创建时的变量;

–cpu-shares :设置 cpu 使用权重;

–cpu-period :限制 CPU CFS周期;

–cpu-quota :限制 CPU CFS配额;

–cpuset-cpus :指定使用的CPU id;

–cpuset-mems :指定使用的内存 id;

–disable-content-trust :忽略校验,默认开启;

-f :指定要使用的Dockerfile路径;

–force-rm :设置镜像过程中删除中间容器;

–isolation :使用容器隔离技术;

–label=[] :设置镜像使用的元数据;

-m :设置内存最大值;

–memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;

–no-cache :创建镜像的过程不使用缓存;

–pull :尝试去更新镜像的新版本;

–quiet, -q :安静模式,成功后只输出镜像 ID;

–rm :设置镜像成功后删除中间容器;

–shm-size :设置/dev/shm的大小,默认值是64M;

–ulimit :Ulimit配置。

–tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。

–network: 默认 default。在构建期间设置RUN指令的网络模式

https://www.runoob.com/docker/docker-build-command.html