docker

安装Docker

dockerfile

docker-compose

安装docker-compose

启动portainer

version: '2'
services:
  portainer:
    image: portainer/portainer
    restart: always
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /Users/Shared/dev/docker_file/portainer/data:/data

编译(交叉编译linux版本)

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build xxx.go

编译镜像(腾讯云)

docker build  -t ccr.ccs.tencentyun.com/oyjx/xxx:v1.0.0 .

本地启动镜像

docker  run  -p  8070:8070  ccr.ccs.tencentyun.com/oyjx/xxx:v1.0.0

推送镜像

# 获取授权
docker login --username=100003110983 ccr.ccs.tencentyun.com
# 推送
docker push  ccr.ccs.tencentyun.com/oyjx/xxx:v1.0.0

示例(以发布实战:Go语言开发分布式任务调度 轻松搞定高性能Crontab master节点镜像为例)

本地交叉编译linux版本

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build master.go

dockerfile

FROM golang as build

FROM alpine:3.7

COPY master /usr/bin
COPY master.json .
# 拷贝目录:https://www.cnblogs.com/sparkdev/p/9573248.html
COPY webroot ./webroot

ENV PORT=8070
RUN chmod +x /usr/bin/master
ENTRYPOINT ["master"]

编译镜像(腾讯云)

docker build  -t ccr.ccs.tencentyun.com/corntab/master:v1.0.0 .

本地启动镜像

docker  run  -p  8070:8070  ccr.ccs.tencentyun.com/corntab/master:v1.0.0

推送镜像到(腾讯云)仓库

# 获取授权
docker login --username=100003110983 ccr.ccs.tencentyun.com
# 推送
docker push  ccr.ccs.tencentyun.com/corntab/master:v1.0.0

docker-compose.yaml

# docker-compose.yml文件的版本
version: "2"
# 管理的服务
services:
  corntab_master:
    # 指定镜像
    image: ccr.ccs.tencentyun.com/corntab/master:v1.0.0
    ports:
    # 端口映射
    - 8070:8070
    ulimits:
      nproc: 65535
      nofile:
       soft: 20000
       hard: 40000
    logging: 
      driver: "json-file"
      options: 
        max-size: "1g"

Portainer重置密码

  1. docker container ls

    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

    d720a0edca20 portainer/portainer "/portainer" 2 minutes ago Up 5 seconds 0.0.0.0:9000->9000/tcp portainer_portainer_1

    b9b6d2794fdf redis:latest "docker-entrypoint.s…" 7 weeks ago Up 6 minutes 0.0.0.0:6379->6379/tcp db_redis_1

  2. docker inspect portainer d720a0edca20 获取配置信息,关注配置

    "HostConfig": {

    ​ "Binds": [

    ​ "/Users/Shared/dev/docker_file/portainer/data:/data:rw",

    ​ "/var/run/docker.sock:/var/run/docker.sock:rw"

    ​ ],

  3. 停止运行portainer

  4. docker run --rm -v /Users/Shared/dev/docker_file/portainer/data:/data:rw portainer/helper-reset-password

网络模型设置为host

使用network_mode: "host"

例如

# docker-compose.yml文件的版本
version: "2"
# 管理的服务
services:
  booklib:
    container_name: booklib
    # 指定镜像
    image: ccr.ccs.tencentyun.com/oyjx/booklib:v1.0.0
    ports:
      # 端口映射
      - 8000:8000
    ulimits:
      nproc: 65535
      nofile:
        soft: 20000
        hard: 40000
    logging:
      driver: "json-file"
      options:
        max-size: "1g"
    network_mode: "db_default"

最后更新于

这有帮助吗?