DockerHub官方镜像地址: https://hub.docker.com/
# 构建并后台启动
$ docker compose up -d
# 将会停止UP命令启动的容器,并删除容器
$ docker compose down
1、安装web服务
1.1、安装Nginx
镜像地址:https://hub.docker.com/_/nginx
docker-compose.yml
version: '3'
services:
web:
image: nginx:1.23.2
restart: always
hostname: nginx
container_name: nginx_123
privileged: true
ports:
- 8080:80
volumes:
#- ./conf/nginx.conf:/etc/nginx/nginx.conf
- ./logs/:/var/log/nginx/
- ./html/:/usr/share/nginx/html/
1.1、安装apache
镜像地址:https://hub.docker.com/_/httpd
# docker-compose.yml
version: '3'
services:
web:
container_name: httpd
image: httpd:2.4.54
ports:
- "8081:80"
privileged: true
volumes:
#- ./conf/httpd.conf:/usr/local/apache2/conf/httpd.conf
- "./html/:/usr/local/apache2/htdocs/"
2、开发语言
2.1、Java
镜像地址:https://hub.docker.com/_/openjdk
version: "3"
services:
java-service:
container_name: java-web
restart: always
network_mode: "host"
image: liberica-openjdk-centos:11.0.17
volumes:
- ./web-0.1.jar:/web-0.1.jar
ports:
- "80:80"
#启动容器后执行的命令
entrypoint: java -Xms1024m -Xmx1024m -jar web-0.1.jar
可用的openjdk容器
amazoncorretto:https://hub.docker.com/_/amazoncorretto
docker pull amazoncorretto:8u352
docker pull amazoncorretto:11.0.17
docker pull amazoncorretto:17.0.5
bellsoft:https://hub.docker.com/u/bellsoft
docker pull bellsoft/liberica-openjdk-centos:8u352
docker pull bellsoft/liberica-openjdk-centos:17.0.5
docker pull bellsoft/liberica-openjdk-centos:11.0.17
eclipse-temurin:https://hub.docker.com/_/eclipse-temurin
版本标签:https://github.com/docker-library/docs/blob/master/eclipse-temurin/README.md
docker pull eclipse-temurin:8u352-b08-jdk
docker pull eclipse-temurin:11.0.17_8-jdk
docker pull eclipse-temurin:17.0.5_8-jdk
3、操作系统
镜像地址:https://hub.docker.com/_/ubuntu
# docker-compose.yml
version: '3'
services:
web:
container_name: ubuntu
image: ubuntu:22.04
privileged: true
volumes:
- /etc/localtime:/etc/localtime
network_mode: "host"
其它操作系统
alpine:https://hub.docker.com/_/alpine
docker run -it -v /data/docker/linux:/root alpine:3.17.0 /bin/sh
debian:https://hub.docker.com/_/debian
docker run -it -p 9311:9311 -v /data/docker/linux:/root debian:11.6 /bin/sh
amazonlinux:https://hub.docker.com/_/amazonlinux
docker run -it -p 9311:9311 -v /data/docker/linux:/root amazonlinux:2.0.20221210.0 /bin/sh
oraclelinux:https://hub.docker.com/_/oraclelinux
docker run -it -p 9311:9311 -v /data/docker/linux:/root oraclelinux:9 /bin/sh
archlinux:https://hub.docker.com/_/archlinux
docker run -it -p 9311:9311 -v /data/docker/linux:/root archlinux:latest /bin/sh
photon:https://hub.docker.com/_/photon
docker run -it -p 9311:9311 -v /data/docker/linux:/root photon:4.0 /bin/sh
rockylinux:https://hub.docker.com/_/rockylinux
docker run -it -p 9311:9311 -v /data/docker/linux:/root rockylinux:9.1 /bin/sh
clearlinux:https://hub.docker.com/_/clearlinux
docker run -it -p 9311:9311 -v /data/docker/linux:/root clearlinux:latest /bin/sh
opensuse:https://hub.docker.com/r/opensuse/leap
docker run -it -p 9311:9311 -v /data/docker/linux:/root opensuse/leap:15.4 /bin/sh
fedora:https://hub.docker.com/_/fedora
docker run -it -p 9311:9311 -v /data/docker/linux:/root fedora:37 /bin/sh
4、数据库
4.1、MySQL
镜像地址:https://hub.docker.com/_/mysql
services:
mysql:
# mysql:5.7.44 mysql:8.0.40 mysql:8.4.3 mysql:9.1.0
image: mysql:5.7.44
container_name: mysql57
privileged: true
restart: always
environment:
- MYSQL_ROOT_PASSWORD=123456
- TZ=Asia/Shanghai
command:
--max_connections=1000
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
--default-authentication-plugin=mysql_native_password
ports:
- 3306:3306
volumes:
- mysql57_data:/var/lib/mysql
volumes:
mysql57_data:
driver: local
my.cnf
[client]
# 端口号
port=3306
[mysql]
default-character-set=utf8mb4
[mysqld]
# 端口号
port=3306
# 数据目录
datadir=/var/lib/mysql
# 新模式或表时将使用的默认字符集
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=INNODB
# 将 SQL 模式设置为严格
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
# 最大连接数
max_connections=1024
# 表缓存
table_open_cache=2000
# 表内存
tmp_table_size=16M
# 线程缓存
thread_cache_size=10
# 设置大小写不敏感
lower_case_table_names=1
# innodb设置
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=8M
innodb_log_file_size=48M
innodb_thread_concurrency=33
innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
# 其他设置
back_log=80
flush_time=0
join_buffer_size=256K
max_allowed_packet=4M
max_connect_errors=100
open_files_limit=4161
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
4.2、Oracle
Oracle 19C
services:
oracle:
image: registry.aliyuncs.com/zhuyijun/oracle:19c
container_name: oracle19c
privileged: true
restart: always
environment:
- ORACLE_SID=ORCL
- ORACLE_PDB=ORCLPDB1
- ORACLE_PWD=123456
- ORACLE_EDITION=standard
- ORACLE_CHARACTERSET=AL32UTF8
# command:
# -
ports:
- 1521:1521
- 5500:5500
# volumes:
# - /data/oracle/oradata:/opt/oracle/oradata
volumes:
oracle19c_data:
driver: local