官方仓库地址 https://docs.docker.com/
下载指定版本先在官网搜索有没有这个版本,不写版本默认laster
安装jdk
#查找镜像
docker search jdk11
#下载镜像
[root@localhost ~]# docker pull youmoni/jdk11-docker
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wurstmeister/kafka 2.11-0.11.0.3 94eb100d9305 2 months ago 413MB
youmoni/jdk11-docker latest 2458ad815d3e 8 months ago 713MB
wurstmeister/zookeeper latest 3f43f72cb283 2 years ago 510MB
#重命名镜像
docker tag 2458ad815d3e jdk:11
部署springboot项目时,dickerfile文件指定Java环境
FROM jdk:11
.....
安装nginx
高性能的HTTP和反向代理web服务器
docker pull nginx:1.18
#后台启动nginx,并指定名称和端口
[root@localhost ~]# docker run -d --name nginx01 -p 3344:80 nginx:1.18
40ab4ab0cac5ce248cd4245323cac43dc059835cde7369a662acb201326f35e9
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
40ab4ab0cac5 nginx:1.18 "/docker-entrypoint.…" 6 seconds ago Up 5 seconds 0.0.0.0:3344->80/tcp nginx01
#测试访问nginx
http://localhost:3344
安装redis
##搜索镜像
>docker search redis
##下载镜像
>docker pull redis:xx
##
>docker pull redis:xx
##编写自定义的redis配置文件/etc/redis/redis.conf
requirepass xxx --设置密码
#bind 127.0.0.1 --允许远程访问
##启动redis
>docker run -p 6379:6379 --name redis -v /docker-software/redis/redis.conf:/etc/redis/redis.conf -v /docker-software/redis/data:/data -d redis:6 redis-server /etc/redis/redis.conf
##进入redis
>docker exec -it e1e736489f60 redis-cli
##如果修改配置文件中密码重启没生效,只能进入redis执行以下命令修改
>config set requirepass 123456
>quit
安装tomcat
Web 应用服务器
docker pull tomcat:10
docker run -it --rm -p 8888:8080 tomcat:10
--rm 一般用于启动服务测试完就删除容器
#测试访问
http://localhost:8888
#一般tomcat容器的webapps下是没有项目的,可以从别的地方复制一个
root@e28938a4afcf:/usr/local/tomcat# cp -r webapps.dist/* webapps
#再次测试访问就可以见到正常的tomcat页面了
安装es
基于Lucene的搜索服务器
安装elasticsearch非常耗内存,低内存一定要停掉别的服务
docker pull elasticsearch:7.10.1
#创建网络
docker network create esnet
docker run -d --name es --network esnet -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx512m" elasticsearch:7.10.1
#可选参数
-p 主机端口:容器端口 #开放端口
--network somenetwork #指定一个网络名,用于其他容器访问,如kibana
-e #启动参数
ES_JAVA_OPTS="-Xms256m -Xmx512m" #指定分配内存和最大内存
#测试访问
http://43.226.152.27:9200/
安装 kibana
免费的开源可视化工具,注意与elasticsearch版本对应
docker pull kibana:7.10.1
#找到elasticsearch容器的IP,Networks->IPAddress
docker inspect es
#启动,es传入上一步查到的es地址
docker run -d --name kibana -p 5601:5601 -e "ELASTICSEARCH_URL=http://172.18.0.2:9200" kibana:7.10.1
#测试访问
http://43.226.152.27:5601/
访问kibana页面错误 Kibana server is not ready yet
#进入kibana容器修改配置
docker exec -it kibana /bin/bash
cd config
vi kibana.yml
#修改为主机地址
elasticsearch.hosts: [ "http://xx.xx.xx.xx:9200" ]
保存退出
esc shift+: wq
exit
#重启kibana
docker restart kibana
安装Portainer
轻量级的docker环境管理UI
docker pull portainer/portainer-ce
docker run -d -p 9000:9000 -v /root/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock --name dev-portainer portainer/portainer-ce
-d #容器在后台运行
-p 9000:9000 # 宿主机9000端口映射容器中的9000端口
-v /var/run/docker.sock:/var/run/docker.sock # 把宿主机的Docker守护进程(docker daemon)默认监听的Unix域套接字挂载到容器中
-v /root/portainer:/data # 把宿主机目录 /root/portainer 挂载到容器 /data 目录;
–name dev-portainer # 指定运行容器的名称
Portainer也支持docker集群管理,但一般也就单机学习之用,
正式环境一般用使用Rancher管理Docker集群
安装mysql
docker pull mysql:8
docker run -d -p 3306:3306 --name mysql8 -v ~/mysql/data:/var/lib/mysql -v ~/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=admin mysql:8
#可选参数
--name 后面这个是生成的容器的名字mysql8
-p 3306:3306 表示这个容器中使用3306(第二个)映射到本机的端口号也为3306(第一个)
-v 数据卷挂在,将主句目录与容器内目录同步
-e MYSQL_ROOT_PASSWORD=admin 初始化root用户的密码
-d 表示使用守护进程运行,即服务挂在后台
#进入mysql,可以ps查出容器id进入,也可以用别名
docker exec -it qmm-mysql bash
#登录
mysql -u root -p
#切换数据库
show databases;
use mysql;
#修改加密方式并开放远程连接
udate user set host='%' where user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
版权声明:本文为u012796085原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。