docker从零开始安装自己的项目

docker文档

以前端amis项目为例子

进入服务器 安装好docker

  1. 下载ubuntu:18.04,作为基础镜像 ubuntu最好指定版本
  2. 根据基础镜像,创建容器,并启动 进入容器中
  3. 或直接进入已下载的镜像,docker run -i -t ubuntu /bin/bash
  4. cd 进入 root目录
  5. 下载项目代码 提示 git 。 vim apt-get 等 not found
  6. 更改数据源
    1. 在容器里执行 echo deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse >> /etc/apt/sources.list
    2. 执行 apt-get update 如果命令出错,需把整个文件替换成国内源即可
  7. 安装其他依赖 apt-get install git / apt-get install vim
  8. 安装apt-get install npm
  9. 安装项目依赖 npm i
  10. 启动项目 npm start

·······························
docker 相关命令
`
·················

容器操作:

-   查看运行的容器 docker ps
-   查看所有的容器 docker ps -a
-   根据镜像启动容器并进入 docker run -it -p 90:90 ubuntu /bin/bash 
-   后台启动容器,启动后不进入终端,参数d docker run -itd -p 80:81 --name ubuntu-test ubuntu /bin/bash
-   -   docker 仅在run的时候提供了-p参数来增加端口映射,也没有start的相关修改端口映射的方式,修改方法
    -   -   1,重新创建一个容器,增加暴露端口,重新部署原来的服务
        -   2,将容器重新commit为镜像,再次运行成一个新容器,然后指定暴露端口
        -   3,修改配置文件的方式
-   启动已停止的容器, docker start b750bbbcfd88
-   停止容器 docker stop <容器 ID>
-   重启容器 docker restart <容器 ID>
-   进入已启动的容器 docker exec -it 9df70f9a0714 /bin/bash:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
-   删除容器 docker rm -f 1e560fca3906
-   导入导出 用到在研究
-   查看daocker 里面的日志 docker logs [ID或者名字] 可以查看容器内部的标准输出。
-   查看容器内部运行的进行 docker top 容器名/id
-   查看容器内部服务的底层信息 docker inspect  容器名/id
-   docker修改容器名:docker rename 容器id 新容器名

··································

自己的demo

1,创建依赖文件:这里用到国内源 sources.list

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

2创建Dockerfile文件

# Version 1.0

# Base images 基础镜像
FROM ubuntu:18.04

#MAINTAINER 维护者信息
MAINTAINER huhu 

#ENV 设置环境
ENV LANG=en_US.UTF-8

#更换ubuntu 的源
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
ADD ./sources.list /etc/apt/

WORKDIR /root/
#下载相关工具及服务, -y 是自动回复交互式输入[y/n] 确定
RUN apt-get update \
    && apt-get install -y git \
    && apt-get install -y npm \
    && git clone https://gitee.com/hudaye100200/amis_1.2.git \
    && apt-get install sudo \
    && apt-get -y install curl dirmngr apt-transport-https lsb-release ca-certificates \
    && curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - \
    && apt-get install -y nodejs \
    && apt-get install net-tools

WORKDIR /root/amis_1.2/  #amis_1.2为git下载后的服务文件目录
RUN npm i

#EXPOSE 映射端口
EXPOSE 8888

WORKDIR /root/amis_1.2/ #设置默认进入容器的路径。
#CMD 运行以下命令
CMD ["npm","start"]

3,执行命令

-创建生成镜像: docker build -t fe_amis:1.0 .

-根据镜像创建并启动容器: docker run -itd -p 8868:8888 --name=huhu 镜像ID 不要写/bin/bash 否则CMD命令不生效会跳过,就不会启动容器后自动启动服务

-查看容器内服务是否自动启动docker logs 容器ID

-将镜像推送到自己的Registry

$ docker login --username=huda****00200 registry.cn-beijing.aliyuncs.com 登陆

$ docker tag [ImageId] registry.cn-beijing.aliyuncs.com/hudaye/hu_one:[镜像版本号]根据镜像ID 打版本号

$ docker push registry.cn-beijing.aliyuncs.com/hudaye/hu_one:[镜像版本号]

-下载自己的仓库的镜像:docker pull registry.cn-beijing.aliyuncs.com/hudaye/hu_one:fe-amis1.0

-设置docker开机自启动: sudo systemctl enable docker

-docker服务命令

systemctl [参数] docker
参数详解:
        start 开启服务
        stop 关闭
        restart 重启
        status 状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值