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前几位]
posted @ 2022-10-31 21:40  llk2000  阅读(46)  评论(0)    收藏  举报