admin管理员组

文章数量:1643282

1、制作自己的镜像;

docker build -t prd-320707e-20231117 .
docker build -t prd-320707e-20231117 -f CI.Dockerfile .

2、运行;

 docker run -d -p 8888:8088 --name screen111 harbor.nx-engine/bu2/eagoal/private/nx-patrolling-eagle:2023090601
 
 docker run -d -p 3001:3000 --name ism111 prd-320707e-20231117

-p 映射容器内端口到宿主机、--name 容器名字、-d 后台运行

命令参考文档:Docker run reference | Docker Docs

3、镜像推送

登录到阿里云容器镜像服务
docker login --username=云上锦书xos registry-beijing.aliyuncs
将本地的镜像打上标签

(tag后是本地的镜像ID,后面指镜像版本)

docker tag 89da1fb6dcb9 registry-hangzhou.aliyuncs/yuns_202303/nginx:20230808
推送镜像到线上
docker push registry-hangzhou.aliyuncs/yuns_202303/nginx:20230808

registry-hangzhou.aliyuncs/yuns_202303/node:v14.0.0

4、推送成功后运行;

在目标服务器上安装 Docker:

首先确保目标服务器上已经安装了 Docker。如果没有安装,请根据操作系统和发行版的不同,查阅 Docker 官方文档进行安装。

进行登录

如果你推送镜像到了 Docker Hub 或其他私有仓库,你需要在目标服务器上登录到该仓库。使用以下命令进行登录:

echo "xxxx@Aaa" | docker login --username=云上青鸟 --password-stdin registry.cn-beijing.aliyuncs.com

该命令会要求输入你的用户名和密码,成功登录后,Docker 客户端将在本地保存认证信息,以便于拉取镜像。

拉取镜像:

使用以下命令从远程仓库中拉取镜像到目标服务器上:

docker pull registry.cn-beijing.aliyuncs.com/yuns_202303/koa_vue:latest
启动容器

一旦镜像成功拉取到目标服务器上,你可以使用以下命令来启动容器:

docker run --8888:3000 --name screen --platform linux/amd64 registry.cn-beijing.aliyuncs.com/modely/bigscreen:jiang111

5、更多相关命令

docker stop 21fd1b0eaa6a  停止容器运行

docker image prune  // 删除没有引用的镜像

Total reclaimed space: 11.58GB

docker ps 查看当前运行中的容器

docker images 查看镜像列表

docker rm container-id 删除指定 id 的容器

docker stop/start container-id 停止/启动指定 id 的容器

docker rmi image-id 删除指定 id 的镜像

docker volume ls 查看 volume 列表

docker network ls 查看网络列表

docker logs ism_xosyun  // 查看screen的日志;
docker logs -f ism_xosyun
// 查看某容器文件内容
docker exec -it test__xosyun cat /var/log/nginx/error.log
// 查看某容器目录列表
docker exec -it admin__xosyun ls /var/log/nginx
// 查看某容器是否安装node
docker exec -it test__xosyun node -v
//  到容器中执行某些命令
docker exec -it admin__xosyun sh -c "cd /data/app/km-h5 && npm i"

停止并清除全部正在运行的容器, 并清除所有的镜像

docker ps -aq | xargs docker stop && docker ps -aq | xargs docker rm
docker rmi $(docker images -q)

安装 nginx、node、redis、mongo;

docker pull nginx:20230808
docker run -d -p 3002:80 nginx
访问,启动成功。
docker pull node:14.18.1
docker run -itd --name node__ node:14.18.1
docker exec -it node__ /bin/bash  // 进入查看容器运行
node -v

6、Alibaba Cloud Linux  3.2104 64位安装docker

安装最新依赖

sudo yum update
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

安装软件

sudo yum-config-manager --add-repo https://download.docker/linux/centos/docker-ce.repo
sudo yum install -y docker-ce

启动docker且设置开机自启动;

sudo systemctl start docker
sudo systemctl enable docker
// 验证  docker --version

7、环境变量设置

1、构建时注入
ne run dev -e JEEP_URL=jiang111,ALFA_URL=yunjin222
2、在 package.json 中写入

在项目的 package.json 文件中,可以添加特定的键来配置环境变量,这些配置会在运行 ne 命令时自动注入。

  • ne-env-[command]:这是一个对象,用于指定在特定命令下需要注入的环境变量,例如:
"ne-env-dev": {
  "NODE_SYS": "dealer"
}
3、在eggjs为基础的后端工程中

注入 Egg.js 启动参数

ne run dev --senv port=7002

ne-senv-[command]:与 ne-env 类似,但只在以 Egg.js 为基础的后端工程中有效,例如:

"ne-senv-dev": {
  "port": "7002"
}
4、扩展
Egg.js 是一个基于 Node.js 的后端开发框架,旨在帮助开发者更高效地构建企业级应用。所以,当文档提到 "ne-senv" 只在 Egg.js 后端工程中有效时,意思是在使用 Egg.js 框架构建的后端应用中,可以通过该方式注入环境变量。

本文标签: 详解Docker