docker常用命令
WSL下原生docker安装
使用官方的安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo service docker start
官方推荐使用客户端,这里继续等待即可开始安装
docker默认的源为国外官方源,下载速度较慢,可改为国内源
编辑或新建配置文件 /etc/docker/daemon.json
daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"],
"live-restore": true
}
Docker 官方中国区
https://registry.docker-cn.com
网易
http://hub-mirror.c.163.com
中国科技大学
https://docker.mirrors.ustc.edu.cn
阿里云
https://pee6w651.mirror.aliyuncs.com
编写Dockerfile
e.g.
# Dockerfile
FROM mongo-express
WORKDIR /workspace
RUN mkdir backend \
&& mkdir frontend
COPY package.json .
COPY backend/package.json ./backend
COPY frontend/package.json ./frontend
RUN npm install \
&& cd backend && npm install \
&& cd ../frontend && npm install \
&& cd ..
COPY . .
EXPOSE 3000
CMD ["npm", "run", "dev"]
FROM:构建基础镜像
WORKDIR:指定工作目录
排除不需要复制的目录,e.g.
# .dockerignore
node_modules
DockerFile
.dockerignore
.git
.gitignore
backend/node_modules
frontend/node_modules
从Dockerfile构建镜像
docker build -t [镜像名称] .
连接dockerhub
docker login
# 输入dockerhub注册的账号、密码即可
运行镜像
docker run -d -p [主机端口]:[容器端口] --name [容器名称] [镜像名称]
# -p 端口映射
# --name 指定容器名称
# 容器与本地文件夹绑定
docker run -d -v [本地文件夹]:[容器文件夹] -p 3000:3000 -p 5000:5000 --name mern-demo-container llk2000/mern-demo:1.0
删除镜像/容器
# 删除镜像,-f强制删除有正在运行的容器的镜像
docker rmi -f [镜像id前几位]
# 删除容器,-f强制删除正在运行的容器
docker rm -f [容器id前几位]

浙公网安备 33010602011771号