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指令的网络模式