docker常用命令和dockerfile语法

本章记录docker的常用命令

docker info  #检查docker是否正常安装
docker version #查看版本号信息
docker images #查看所有镜像
docker ps #查看正在运行的容器
docker ps -a #显示所有容器
docker ps -l 显示最新启动的一个容器(包括已停止的)
docker volume ls #查看数据卷的详细信息
docker top 容器名或者ID #查看指定容器的进程信息
docker logs 容器名或者ID  #查看指定容器的日志
docker rm -f  容器名或者ID   #强制删除容器
docker rmi 镜像名 #删除指定镜像
docker volume rm 卷名  #删除容器卷
docker  inspect  容器名或者镜像名 #用于查看镜像和容器的详细信息,默认会列出全部信息,可以通过--format参数来指定输出的模板格式,以便输出特定信息。
docker login (harbor仓库路径) #登录私有仓库
docker tag  sheng sheng1 #将镜像sheng更改为sheng1
docker save -o  nginx.tar nginx:1.7.9  #-o :输出到的文件 将nginx1.7.9打包为tar包
docker load < nginx.tar   #将nginx.tar 解压到docker
docker pull 镜像名 #拉去镜像
docker push 镜像民 #上传镜像
docker run -itd  nginx:1.6.9 /bin/bash  #创建容器
docker exec -it 容器名  /bin/bash #进入容器
docker cp /宿主机/aa  /容器/aa 
docker pause 容器名或者ID #:暂停容器中所有的进程。
docker unpause 容器名或者ID #:恢复容器中所有的进程。
docker restart 容器名或者ID #重新启动容器
docker stop 容器名或者ID #停止容器
docker network ls #查看docker网卡
docker network  rm 网卡名 #删除指定网卡
docker network inspect 网卡名 #显示指定网卡详细信息

 -d后台运行,-p端口映射,--name容器的名字, -it分配一个交互式的终端

容器状态七种
created(已创建)
restarting(重启中)
running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)

dockerfile语法

FROM  这个镜像的妈妈是谁?(指定基础镜像)
MAINTAINER 告诉别人,谁负责养它?(指定维护者信息,可以没有)
LABLE      描述,标签
RUN 你想让它干啥(在命令前面加上RUN即可)
ADD 给它点创业资金(会自动解压tar)  制作docker基础的系统镜像
WORKDIR 我是cd,今天刚化了妆(设置当前工作目录)
VOLUME 给它一个存放行李的地方(设置卷,挂载主机目录)
EXPOSE 它要打开的门是啥(指定对外的端口)(-P 随机端口)
CMD 奔跑吧,兄弟!(指定容器启动后的要干的事情)(容易被替换)
dockerfile其他指令:    
COPY 复制文件(不会解压)rootfs.tar.gz
ENV  环境变量1 环境变量2 环境变量3
ENTRYPOINT  容器启动后执行的命令(无法被替换,启容器的时候指定的命令,会被当成参数)

dockerfile构建模板  每一次RUN
都会生成一层 对于docker构建镜像来说
应该避免构建多层。非常多层的镜像,不仅仅增加了构建部署的时间,也很容易出错。
FROM debian:jessie
RUN buildDeps='gcc libc6-dev make' \
    && apt-get update \
    && apt-get install -y $buildDeps \
    && wget -O redis.tar.gz "http://download.redis.io/releases/redis-3.2.5.tar.gz" \
    && mkdir -p /usr/src/redis \
    && tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1 \
    && make -C /usr/src/redis \
    && make -C /usr/src/redis install \
    && rm -rf /var/lib/apt/lists/* \
    && rm redis.tar.gz \
    && rm -r /usr/src/redis \
    && apt-get purge -y --auto-remove $buildDeps

 

posted @ 2020-12-02 15:10  Lucky-生生  阅读(389)  评论(0)    收藏  举报