- redis
version: "3"
services:
redis:
image: redis:7.0.4
container_name: redis
command: redis-server --requirepass 123456
volumes:
- ./data:/var/lib/redis/data
- ./redis.conf:/usr/local/etc/redis/redis.conf
ports:
- 6379:6379
- qt
docker run -dit \
--name dev-qt \
--net host \
-p 10026:22 \
-v /home/xingqiankun/workdpace/dockerWorkspace/qt/application:/application \
-v /home/xingqiankun/workdpace/dockerWorkspace/qt/workspace:/workspace \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-e GDK_SCALE \
-e GDK_DPI_SCALE \
dev-qt:latest
### 主机需要打开 xhost + ,允许其它应用访问x11窗口
打包包含相应工具的镜像,同时配置源[选用ubuntu的原因是对于qt等桌面开发ubuntu拥有丰富的社区资源和稳定的运行环境,主要是稳定的运行环境,稳定的内核更新,稳定的包管理策略]
FROM ubuntu:latest
# 设置时区
ARG TZ=Asia/Shanghai
ENV TZ ${TZ}
# 用 root 用户操作
USER root
# 更换阿里云源,在国内可以加快速度
RUN sed -i "s/security.ubuntu.com/mirrors.aliyun.com/" /etc/apt/sources.list && \
sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/" /etc/apt/sources.list && \
sed -i "s/security-cdn.ubuntu.com/mirrors.aliyun.com/" /etc/apt/sources.list
RUN apt-get clean
RUN apt-get update
RUN echo "更新源,安装相应工具"
RUN apt-get install -y git \
vim \
wget \
gcc \
g++ \
curl \
flex \
bison \
gperf \
python3 \
python3-pip \
python3-setuptools \
cmake \
ninja-build \
ccache \
libusb-dev \
libffi-dev \
libssl-dev \
dfu-util
RUN apt-get install -y build-essential
RUN apt-get install -y gdb
RUN apt-get install -y net-tools
RUN echo "安装成功"
RUN mkdir /application
RUN mkdir /workspace
CMD ["/bin/bash"]
- poratiner docker管理工具
version: "3.6"
services:
portainer-mian:
container_name: portainer
image: portainer/portainer:latest
restart: always
ports:
- 9000:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock:rw
- ./data:/data:rw
networks:
- traefik
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.portainer_halobug.entrypoints=https"
- "traefik.http.routers.portainer_halobug.rule=Host(`portainer.halobug.cn`)"
- "traefik.http.routers.portainer_halobug.tls=true"
- "traefik.http.services.portainer_halobug-backend.loadbalancer.server.scheme=http"
- "traefik.http.services.portainer_halobug-backend.loadbalancer.server.port=9000"
logging:
driver: "json-file"
options:
max-size: "10m"
networks:
traefik:
external: true
- nacos singleton*
version: "1.0"
services:
nacos-signo:
image: nacos/nacos-server
container_name: nacos-signo
ports:
- "8848:8848"
- "9555:9555"
- "9848:9848"
- "9849:9849"
volumes:
- ./logs:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
restart: on-failure
network_mode: host
environment:
SPRING_DATASOURCE_PLATFORM: mysql
MODE: standalone
MYSQL_SERVICE_DB_NAME: nacos
MYSQL_SERVICE_USER: root
MYSQL_SERVICE_PASSWORD: 123456
JVM_XMS: 256m
JVM_XMX: 256m
JVM_XMN: 256m
- nacos ms
version: '1.0.0'
services:
nacos-1:
image: nacos/nacos-server
container_name: nacos-1
ports:
- "8848:8848"
- "9555:9555"
- "9848:9848"
- "9849:9849"
volumes:
- ./nacos1/logs:/home/nacos/logs
- ./nacos1/init.d/custom.properties:/home/nacos/init.d/custom.properties
restart: on-failure
network_mode: host
environment:
SPRING_DATASOURCE_PLATFORM: mysql
NACOS_SERVERS: 192.168.0.100:8848 192.168.0.100:8849 192.168.0.100:8850
MYSQL_SERVICE_HOST: 192.168.0.100
NACOS_APPLICATION_PORT: 8848
MYSQL_SERVICE_DB_NAME: nacos
MYSQL_SERVICE_USER: root
MYSQL_SERVICE_PASSWORD: admin
JVM_XMS: 256m
JVM_XMX: 256m
JVM_XMN: 256m
nacos-2:
container_name: nacos-2
image: nacos/nacos-server
ports:
- "8849:8849"
- "9849:9848"
- "9850:9849"
volumes:
- ./nacos2/logs:/home/nacos/logs
- ./nacos2/init.d/custom.properties:/home/nacos/init.d/custom.properties
restart: on-failure
network_mode: host
environment:
SPRING_DATASOURCE_PLATFORM: mysql
NACOS_SERVERS: 192.168.0.100:8848 192.168.0.100:8849 192.168.0.100:8850
MYSQL_SERVICE_HOST: 192.168.0.100
NACOS_APPLICATION_PORT: 8849
MYSQL_SERVICE_DB_NAME: nacos
MYSQL_SERVICE_USER: root
MYSQL_SERVICE_PASSWORD: admin
JVM_XMS: 256m
JVM_XMX: 256m
JVM_XMN: 256m
nacos-3:
container_name: nacos-3
image: nacos/nacos-server
ports:
- "8850:8850"
- "9850:9848"
- "9851:9849"
volumes:
- ./nacos3/logs:/home/nacos/logs
- ./nacos3/init.d/custom.properties:/home/nacos/init.d/custom.properties
restart: on-failure
network_mode: host
environment:
SPRING_DATASOURCE_PLATFORM: mysql
NACOS_SERVERS: 192.168.0.100:8848 192.168.0.100:8849 192.168.0.100:8850
MYSQL_SERVICE_HOST: 192.168.0.100
NACOS_APPLICATION_PORT: 8850
MYSQL_SERVICE_DB_NAME: nacos
MYSQL_SERVICE_USER: root
MYSQL_SERVICE_PASSWORD: admin
JVM_XMS: 256m
JVM_XMX: 256m
JVM_XMN: 256m
- mysql
version: '1.0.0'
services:
mysql-single:
container_name: mysql-single
image: mysql:8.0.4
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- ./conf:/etc/mysql/
- ./log:/var/log/mysql
- ./my.ini:/etc/my.ini
- ./mysql-files:/var/lib/mysql-files/
- gitlab
version: '3.6'
services:
gitlab-web:
image: 'gitlab/gitlab-ee:latest'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.example.com:9443'
gitlab_rails['gitlab_shell_ssh_port'] = 9022
ports:
- '9080:80'
- '9443:443'
- '9022:22'
volumes:
- '/media/xingqiankun/二十/gitlab/config:/etc/gitlab'
- '/media/xingqiankun/二十/gitlab/logs:/var/log/gitlab'
- '/media/xingqiankun/二十/gitlab/data:/var/opt/gitlab'
shm_size: '1024m'
sudo docker run --detach \
--hostname gitlab.example.com \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" \
--publish 9443:443 --publish 9080:80 --publish 9022:22 \
--name gitlab \
--restart always \
--volume /media/xingqiankun/二十/gitlab/config:/etc/gitlab \
--volume /media/xingqiankun/二十/gitlab/logs:/var/log/gitlab \
--volume /media/xingqiankun/二十/gitlab/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:latest
- go运行环境
docker run -dit \
--name dev-go \
--net host \
-p 10029:22 \
-v /tmp/.x11-unix:/tmp/.x11-unix \
-e DISPLAY=unix$DISPLAY \
-e GDK_SCALE \
-e GDK_DPI_SCALE \
-v /home/xingqiankun/workdpace/dockerWorkspace/devbase/go-dev/workspace:/workspace \
-v /home/xingqiankun/workdpace/dockerWorkspace/devbase/go-dev/application:/application \
dev-base:latest
- jdk调试环境
docker run -dit \
--name dev-jdk \
--net host \
-p 10028:22 \
-v /home/xingqiankun/workdpace/dockerWorkspace/devbase/jdk-dev/workspace:/workspace \
-v /home/xingqiankun/workdpace/dockerWorkspace/devbase/jdk-dev/application:/application \
dev-base:latest