Docker的学习整理

Docker 的学习整理

Docker 的学习整理记录。目前都是我用到的

1
2
3
4
5
6
7
8
9
10
11

- docker search //根据关键字搜索镜像
- docker pull //用的比较多,下载
- docker images //列出本地镜像
- docker ps //列出容器 -a参数可以展示所有状态容器
- docker push //将本地的镜像上传到镜像仓库
- docker login //登录镜像仓库,默认DokcerHub
- docker rm //删除已停止的容器 不推荐用-f参数
- docker exec //在指定容器中运行docker命令 docker run -it ubuntu:15.10 bash
- docker run //创建容器 -d后台启动 --rm退出删除
- docker build //根据Dockerfile构建, 参数是相对url

Dockerfile 相关

1
2
3
4
5
6
7
8

FROM 基础镜像
RUN 发送命令
CMD 定义命令
COPY 拷贝内容到镜像
EXPOSE 暴露端口
ENV 环境变量
WORKDIR 执行命令的容器路径

以下是我在搭建基于 next.js 的 react 服务端渲染时候使用的 dockerfile 和 docker-compose

dockerfile demo

1
2
3
4
5
6
7
8
9
10
11

FROM mhart/alpine-node

WORKDIR /app/msite
COPY . .

RUN yarn install
RUN yarn build

EXPOSE 3000
CMD ["yarn", "start"]

docker-compose demo

1
2
3
4
5
6
7
8
9

version: "3.5"

services:
msite:
image: mhart/alpine-node
build: ./
ports: - "3000:3000"
container_name: "msite"

docker 不是所有容器都可以进去用输入流操作,有些环境类的比如 node,python,还是要用docker build -t dockerfile来构建镜像。测试的时候可以用--rm