# docker.example **Repository Path**: doyosoft/docker.example ## Basic Information - **Project Name**: docker.example - **Description**: docker 使用示例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-05 - **Last Updated**: 2023-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # docker 使用 ## 常用linux指令和工具 ### ls ### cd ### mkdir ### rm ### cat ### df ### pwd ### cp ### mv ### cat ### su 和 sudo ### yum 和 dnf ### vim ### tar ## docker 安装 ```bash # 更新系统 > sudo dnf update # 添加Docker GPG密钥 > sudo rpm --import https://download.docker.com/linux/centos/gpg # 添加Dokcer存储库 > sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装Docker Engine社区版 > sudo dnf install docker-ce-23.0.2 docker-ce-cli-23.0.2 containerd.io # 启动Docker服务 > sudo systemctl start docker # 设置Docker开机启动 > sudo systemctl enable docker # 验证Docker安装 > docker version ``` ## docker 常用指令 ### docker build ```bash # 构建镜像 > docker build -t page:1.0.1 . ``` ### docker image ```bash > docker images > docker image ls > docker image rm page:1.0.2 ``` ### docker run ```bash > docker run -d -p 3001:3000 page:1.0.2 ``` ### docker container ```bash > docker ps > docker container ls > docker container stop CONTAINER_ID > docker container rm CONTAINER_ID ``` ## Dockerfile ```bash # 指定基础镜像 FROM node:16-alpine # 设置当前工作目录 WORKDIR /usr/local/app # 复制 COPY package.json ./ # 运行制定命令 RUN npm install pm2 -g --registry=https://registry.npmmirror.com RUN npm install --registry=https://registry.npmmirror.com # 设置环境变量 ENV NODE_ENV production COPY . . # 暴露容器运行的监听端口给外部 EXPOSE 3000 # 容器启动时要执行的命令 CMD [ "npm", "run", "start:docker" ] ``` # .dockerignore 类似于.gitignore # 安装Portainer-CE Docker GUI ```bash > docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce > # 浏览器访问 http://localhost:9000/