安装
mac端直接官网地址下载
常用命令
如何进入、退出docker的container
运行系统终端
docker run -t -i ubuntu /bin/bash
-
docker run:启动container
-
ubuntu:你想要启动的image
-
-t:进入终端
-
-i:获得一个交互式的连接,通过获取container的输入
-
/bin/bash:在container中启动一个bash shell
退出终端
exit
启动某个容器(已停止)
docker start somecontainer
进入某个容器(运行中)
exit时container亦退出
docker attach somecontainer
exit时container不退出
docker exec -it somecontainer /bin/bash
保存镜像、 容器到本地, 从本地加载镜像、 容器
镜像的导出及导入
docker save imageID > filename
docker load < filename
容器的保存及导入(导入的是镜像)
docker export containID > filename
docker import filename [newimage]
Dockerfile 的使用
解决Docker build时 Sending build context to Docker daemon 过大的问题
Docker Client会默认发送Dockerfile同级目录下的所有文件到Dockerdaemon中
解决:一个文件夹中只有dockerfile及相关的文件
相关指令
每一次RUN就是一层,所以不要每一条命令都RUN,而是将相关的命令写在一个RUN中。
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
构建是将上下文目录中的文件拷入镜像中
COPY ./package.json /app/
暴露端口
EXPOSE 8080
类似开机启动
CMD
开始构建,注意最后的点
docker build -t nginx:v3 .
最重要的事情
能在网上找的镜像,千万别自己构建,坑太多,耽误时间!