Saber2pr's Blog

前端项目docker部署

  1. 编写 Dockerfile ,示例:
# node
FROM node:14.18-alpine

# mirror
RUN echo 'http://mirrors.aliyun.com/alpine/v3.5/main' > /etc/apk/repositories
RUN echo 'http://mirrors.aliyun.com/alpine/v3.5/community' >>/etc/apk/repositories

# timeZone
RUN apk update && apk add tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone

WORKDIR /app
COPY . /app

# npm
RUN yarn config set registry 'https://registry.npm.taobao.org' -g
RUN yarn config set sass_binary_site 'https://npm.taobao.org/mirrors/node-sass/' -g
RUN yarn install --network-timeout 600000
RUN yarn build

# script
CMD [ "yarn", "start" ]
  1. 执行镜像构建命令:
docker image build -t myimage:v1 .

注意最后有一个点不能省略

  1. 运行镜像
docker run -d -p 3000:3000 -it myimage:v1

-d 表示后台运行. 容器内 3000 端口映射到容器外 3000 端口.

  1. 运行容器

运行指定 CONTAINER ID 的容器

docker start 684f23ec4ea9
  1. 列出已存在的镜像
docker images
  1. 删除镜像:

删除指定 IMAGE ID 的镜像

docker rmi 597d72732244
  1. 查看已存在的容器
docker ps -a

不加-a 只列出运行中的容器

  1. 删除容器

删除指定 CONTAINER ID 的容器

docker rm dcf9dfaf355d

docker 容器更新

  1. 进入容器 bash
docker exec -it 4637c19a2d3a sh

或者

docker exec -it 4637c19a2d3a /bin/sh

或者

docker exec -it 4637c19a2d3a bash

或者

docker exec -it 4637c19a2d3a /bin/bash

输入 exit 退出容器

  1. 在容器内修改

例如 git 更新:

git pull

容器修改后即更新


docker 国内加速镜像配置

  1. 创建 docker 配置文件夹
sudo mkdir -p /etc/docker
  1. 创建 docker 配置文件
sudo vi /etc/docker/daemon.json

写入以下内容

{
"registry-mirrors": ["https://6kx4zyno.mirror.aliyuncs.com"]
}

网易 docker 加速镜像

  1. 重启 daemon
sudo systemctl daemon-reload
  1. 重启 docker
sudo systemctl restart docker

windows:

Net stop com.docker.service
Net start com.docker.service