常用docker容器安装,mysql,redis,clickhouse,elasticsearch

Mysql

docker pull mysql:5.7

mkdir -p /opt/docker/mysql

docker run -d --rm --name temp -e MYSQL_ROOT_PASSWORD=root mysql:5.7 
docker cp temp:/etc/mysql/conf.d /opt/docker/mysql
docker stop temp

vi /opt/docker/mysql/conf.d/mysql.cnf
[client]
default_character_set = utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

docker run -p 3306:3306 --name mysql \
-v /opt/docker/mysql/conf.d:/etc/mysql/conf.d \
-v /opt/docker/mysql/log:/logs \
-v /opt/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
#检查启动情况
docker ps

#检查资源映射 检查字符集
docker exec -it mysql /bin/bash
mysql -uroot -proot
grant all privileges on *.* to 'root'@'%' identified by 'root';
flush privileges;
show variables like '%character%';

Redis

docker pull redis:7.0.10

mkdir -p /opt/docker/redis/conf
#配置文件,默认配置项
vi /opt/docker/redis/conf/redis.conf
bind 0.0.0.0
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 16
always-show-logo no
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
rdb-del-sync-files no
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync yes
repl-diskless-sync-delay 5
repl-diskless-sync-max-replicas 0
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
acllog-max-len 128
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
appendonly no
appendfilename "appendonly.aof"
appenddirname "appendonlydir"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
aof-timestamp-enabled no
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-listpack-entries 512
hash-max-listpack-value 64
list-max-listpack-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-listpack-entries 128
zset-max-listpack-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes


# 启动
docker run -p 6379:6379 --name redis \
-v /opt/docker/redis/data:/data \
-v /opt/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis:7.0.10 redis-server /etc/redis/redis.conf

#检查启动情况
docker ps

Oracle

docker pull truevoly/oracle-12c

docker run -d -p 2122:22 -p 9090:8080 -p 1521:1521 -v /data/docker_volume/oracle12:/u01/app/oracle/ --name oracle-12c truevoly/oracle-12c


[root@hdp05 docker_volume]# docker logs -f e6d234a82c43eea2587e71fbff67159d565a949527c0b64c1b464fde71e7af51
Database not initialized. Initializing database.
Starting tnslsnr
Copying database files
1% complete
37% complete
Creating and starting Oracle instance
40% complete
60% complete
62% complete
Completing Database Creation
66% complete
96% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log" for further details.
Configuring Apex console
Database initialized. Please visit http://#containeer:8080/em http://#containeer:8080/apex for extra configuration if needed
Starting web management console

PL/SQL procedure successfully completed.



hostname: localhost
port: 1521
username1: system
password1: oracle
sid: xe

ClickHouse

docker pull yandex/clickhouse-server:21.3.20


mkdir -p /opt/docker/clickhouse/data /opt/docker/clickhouse/log

# 创建临时容器,--rm在容器stop后会自动销毁,主要用来复制默认的配置文件(有些容器没有默认配置文件比如:redis)
docker run -d --rm --name temp yandex/clickhouse-server:21.3.20
docker cp temp:/etc/clickhouse-server/ /opt/docker/clickhouse/
mv /opt/docker/clickhouse/clickhouse-server /opt/docker/clickhouse/conf

#打开listen,允许远程连接
vi /opt/docker/clickhouse/conf/config.xml
<listen_host>::</listen_host> 

docker stop temp

docker run -d --name clickhouse \
-p 8123:8123 \
-p 9009:9009 \
-p 9090:9000 \
--ulimit nofile=262144:262144 \
-v /opt/docker/clickhouse/data/:/var/lib/clickhouse/ \
-v /opt/docker/clickhouse/log/:/var/log/clickhouse-server/ \
-v /opt/docker/clickhouse/conf/:/etc/clickhouse-server/ \
yandex/clickhouse-server:21.3.20


#检查启动情况
docker ps

#账号default默认密码为空

ElasticSearch

docker pull elasticsearch:7.12.0

mkdir -p /opt/docker/elasticsearch/plugins /opt/docker/elasticsearch/data
#docker镜像,要新建文件,需要映射文件的写入权限
chmod 777 /opt/docker/elasticsearch -R
 
# 这里由于没有配置参数可能导致es启动成功后退出,所以以下两步速度要快
docker run -d --rm --name temp elasticsearch:7.12.0
docker cp temp:/usr/share/elasticsearch/config/ /opt/docker/elasticsearch/

docker stop temp

# 查看配置文件
ll /opt/docker/elasticsearch/config/

# 可能会出现这三个问题
ERROR: [3] bootstrap checks failed. You must address the points described in the following [3] lines before starting Elasticsearch.
bootstrap check failure [1] of [3]: initial heap size [88080384] not equal to maximum heap size [536870912]; this can cause resize pauses
bootstrap check failure [2] of [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
bootstrap check failure [3] of [3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

#问题1:xms xmx必须相等 最好1G
-Xms1024m
-Xmx1024m
#问题2:调整vm.max_map_count的大小,永久生效需要修改vi /etc/sysctl.conf 添加如下行
vi /etc/sysctl.conf
vm.max_map_count=262144
# 临时生效
sysctl -w vm.max_map_count=262144
# 查看调整是否生效
sysctl -a|grep vm.max_map_count
#问题3:discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes必须设置一个
vi /opt/docker/elasticsearch/config/elasticsearch.yml 
# 直接替换如下内容
cluster.name: "dream-cluster"
network.host: 0.0.0.0
node.name: dream1
http.port: 9200
# 初始的候选 master 节点列表 单机部署设置为node.name
cluster.initial_master_nodes: dream1
# 设置跨域允许,esheader用
http.cors.enabled: true   
http.cors.allow-origin: "*"

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-v /opt/docker/elasticsearch/config/:/usr/share/elasticsearch/config/ \
-v /opt/docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /opt/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.12.0

docker ps
# 安装es-header
docker run -d --name es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5


Kafka

docker pull wurstmeister/kafka:2.12-2.3.1

#需要注意 docker内部是不认识我们配置的hosts域名的需要写ip或指定hosts
docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.33.101:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.33.101:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-v /etc/localtime:/data/docker_volume/kafka/etc/localtime  \
wurstmeister/kafka:2.12-2.3.1

docker ps

PGSQL

docker run --name postgres \
-e POSTGRES_PASSWORD=Dmp@2023! \
-p 5432:5432 \
-v /home/zx/postgres/data:/data/docker_volume/postgresql/data \
-d postgres

常用命令

# 拉取
docker pull xx:x.x.x
# 已下载镜像
docker images
docker ps 
# 不截断imageid,查看完整imageid
docker ps -a --no-trunc 
# 启动xx
docker start xx
# 停止
docker remove xx
# 卸载
docker rmi xx:x.x.x
# 进入命令行
docker exec -it xx /bin/bash

卸载失败

#卸载
[root@dream1 hive-3.1.2]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mysql        5.7       c20987f18b13   15 months ago   448MB
mysql        latest    3218b38490ce   15 months ago   516MB
mysql        8.0.19    0c27e8e5fcfa   2 years ago     546MB

[root@dream1 hive-3.1.2]# docker rmi 3218b38490ce
[root@dream1 hive-3.1.2]# docker rmi 0c27e8e5fcfa

# 有时候会这样
[root@dream1 ~]# docker rmi 459651132a11                
Error response from daemon: conflict: unable to delete 459651132a11 (must be forced) - image is being used by stopped container f4daff801a54
[root@dream1 ~]# docker ps -a --no-trunc
CONTAINER ID                                                       IMAGE          COMMAND                         CREATED         STATUS                     PORTS     NAMES
f4daff801a54a77d99588778e13bb32f8c8996f871a01b70302a55cd43b0efa7   mysql:5.7.38   "docker-entrypoint.sh mysqld"   6 minutes ago   Exited (0) 2 minutes ago             mysql
[root@dream1 ~]# docker remove f4daff801a54a77d99588778e13bb32f8c8996f871a01b70302a55cd43b0efa7
f4daff801a54a77d99588778e13bb32f8c8996f871a01b70302a55cd43b0efa7
[root@dream1 ~]# docker rmi 459651132a11
Untagged: mysql:5.7.38
Untagged: mysql@sha256:bbe0e2b0a33ef5c3a983e490dcb3c1a42d623db1d5679e82f65cce3f32c8f254
Deleted: sha256:459651132a1115239f7370765464a0737d028ae7e74c68360740d81751fbae7e
Deleted: sha256:d7ea6059376c50de3817c7401237f523b4d61c42762703db8ad2f404cc53c3aa
Deleted: sha256:52d6b2996df97a61a15562c51525fad3afc6622c6851cf4d510a03071ee85934
Deleted: sha256:84035dad59a5144a4d409a42d6dafae7a6ae4a0cf3003be7bface87abf156672
Deleted: sha256:47b65a0c2a0a1fbcce48d2142885f13987f07106457a188c69c7fb779018771a
Deleted: sha256:dc9a07d59337902d2439d985e4dc37f24099f07677d6cfdc9a9e31c80f014acc
Deleted: sha256:2ea11aa0510b34369b5735cba2bea48ef5511a0c596b942a5b5f275c1762c432
Deleted: sha256:9c23e82c5e50b4a1ba1978cb47a5028061609ddd0057c774bbf722e4b518a7c6
Deleted: sha256:23da32aa7c7218232a08036f50e8e60417f89d172a8381309e221680497e223f
Deleted: sha256:5a7d5cbcd5f100b4e3f3ce6f53766ca33c6464e86e29f6da96a070f9cd3deab2
Deleted: sha256:8a6b5d70d43734f669f9c99f8c0d92923520787eca7c91a7a161d0a7064d85c8
Deleted: sha256:9ba403017e5ec778c95a5c4673f9d9c36ddf94e30fcb47959142a9e89d6606ea
[root@dream1 ~]# 



停止失败

Warning: Stopping docker.service, but it can still be activated by:

docker.socket

这是一个警告信息,意味着尽管已经停止了docker.service服务,但是通过docker.socket套接字仍然可以激活该服务。这通常是因为docker.socket套接字会在需要时自动启动docker.service服务。如果您希望完全停止docker.service服务并避免其自动启动,请同时停止docker.socket套接字。您可以使用以下命令同时停止两个服务:

sudo systemctl stop docker.service docker.socket

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值