Docker 安装 nginx mysql redis mongodb minio leanote springboot云原生

Deepin UOS openEuler 安装 Docker 常用服务搭建

Deepin UOS 在线安装 Docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

Ubuntu 在线 安装 Docker

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

开启docker 远程访问API

sudo vim /lib/systemd/system/docker.service
# 找到ExecStartExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H 
# 修改为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 保存退出。
sudo systemctl daemon-reload
sudo systemctl restart docker
curl http://ip:2375/version

安装Docker管理器 Portainer

sudo docker search portainer
sudo docker run -d -p 9999:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name portainer-test portainer/portainer
sudo docker run -d -p 9999:9000 --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
--name portainer-test portainer/portainer-ce
sudo docker ps

docker 安装 nginx

# 查看本地镜像
sudo docker images
# 搜索远程镜像
sudo docker search nginx
# 下载远程镜像
sudo docker pull nginx
# 运行容器 --name 容器名称 -d 后台运行 -p 端口映射 平台端口:容器端口 镜像名称
sudo docker run --name nginx-test -d -p 80:80 nginx
# 查看正在运行的容器
sudo docker ps
# 关闭正在运行的容器
sudo docker stop nginx-test
# 查看所有容器 包括正在运行的容器和未运行的容器
sudo docker ps -a
# 启动关闭的容器
sudo docker start nginx-test
# 查看正在运行的容器
sudo docker ps
# 关闭正在运行的容器
sudo docker stop nginx-test
# 删除容器 该容器必须是未运行状态
sudo docker rm nginx-test
# 查看所有容器 包括正在运行的容器和未运行的容器
sudo docker ps -a
# 查看本地镜像
sudo docker images
# 删除本地镜像
sudo docker rmi nginx
# -d :分离模式: 在后台运行 
# -i :即使没有附加也保持STDIN 打开 
# -t :分配一个伪终端
# 通过 exec 命令对指定的容器执行 bash
sudo docker exec -it nginx-test /bin/bash
# 退出容器
exit
# 准备 nginx 容器与本地文件映射文件目录
# /home/lhz/nginx/html 存放网页文件
# /home/lhz/nginx/conf.d 存放配置文件
mkdir -p /home/lhz/nginx/html /home/lhz/nginx/conf.d
# docker cp:用于容器与主机之间的数据拷贝
# 从容器中拷贝文件到本地
sudo docker cp nginx-test:/usr/share/nginx/html /home/lhz/nginx
sudo docker cp nginx-test:/etc/nginx/conf.d/default.conf /home/lhz/nginx/conf.d
sudo docker cp nginx-test:/etc/nginx/nginx.conf /home/lhz/nginx
# 删除现有nginx容器
sudo docker stop nginx-test
sudo docker rm nginx-test
# 查看所有容器 包括正在运行的容器和未运行的容器
sudo docker ps -a
# 在 /home/lhz/nginx/html目录下准备自己的网页
# 创建新容器 使用本地文件映射
# -v 本地文件:容器中文件
# --restart=always
# --restart=always 表示容器退出时,docker会总是自动重启这个容器
# --restart=on-failure:3  
# 	表示容器的退出状态码非0(非正常退出),自动重启容器,3是自动重启的次数。超过3此则不重启
# --restart=no   默认值,容器退出时,docker不自动重启容器
# --restart=unless-stopped  表示容器退出时总是重启,但是不考虑docker守护进程运行时就已经停止的容器

sudo docker run -d -p 80:80 \
-v /home/lhz/nginx/html:/usr/share/nginx/html \
-v /home/lhz/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf \
-v /home/lhz/nginx/nginx.conf:/etc/nginx/nginx.conf \
--name nginx-test --restart=always nginx

docker 安装 mysql

# 映射数据库数据文件
mkdir -p /home/lhz/docker/mysql/{conf,data}

sudo docker search mysql
sudo docker pull mysql

sudo docker run --restart=always -p 3306:3306 -p 33060:33060 \
-v /home/lhz/docker/mysql/data:/var/lib/mysql \
--name mysql-test -e MYSQL_ROOT_PASSWORD=123456 -d mysql

docker 安装 redis

mkdir -p /home/lhz/docker/redis/{conf,data}
cd /home/lhz/docker/redis/conf
wget https://raw.githubusercontent.com/antirez/redis/7.0/redis.conf
sudo docker run -d  -p 6379:6379 \
-v /home/lhz/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /home/lhz/docker/redis/data:/data \
--name myredis redis redis-server \
/usr/local/etc/redis/redis.conf
sudo docker run --restart=always --name redis-6379 \
-v /home/lhz/docker/redis/data:/data -p 6379:6379 \
-d redis --requirepass 123456 

方式一

sudo docker run -itd --name redis-6379 -p 6379:6379 redis --requirepass 123456
sudo docker run --restart=always --name redis-6379 -p 6379:6379 -d redis --requirepass 123456
--name (启动容器的名称) 
-p 映射端口:redis启动端口 redis 
--requirepass 启动密码

方法二:为现有的redis创建密码或修改密码的方法:

#1.进入redis的容器
docker exec -it 容器ID bash

#2.进入redis目录
cd /usr/local/bin

#3.运行命令:
redis-cli

#4.查看现有的redis密码:
config get requirepass

#5.设置redis密码
config set requirepass 密码

docker 安装 mongodb

mkdir -p /home/lhz/docker/mongodb/db

sudo docker search mongo
sudo docker pull mongo

sudo docker run --name mongodb -p 27017:27017 \
-v /home/lhz/docker/mongodb/db:/data/db \
--restart=always -d mongo:latest

docker 安装 蚂蚁笔记

sudo docker volume create leanote_data
sudo docker pull axboy/leanote

sudo docker run -d --restart=always --name leanote  \
-v `pwd`/db:/data/db  -v `pwd`/conf/:/data/leanote/conf \
-p 2022:9000  axboy/leanote

openEuler 在线安装 Docker

yum -y update
yum -y install tar vim net-tools zip unzip
yum -y install docker

docker安装minio

1、查看minio的docker版本
使用docker命令查看minio的版本
sudo docker search minio

2、拉取镜像
sudo docker pull minio/minio

3、创建目录:一个用来存放配置,一个用来存储上传文件的目录
sudo mkdir -p /data/minio/config
sudo mkdir -p /data/minio/data


4、运行容器
sudo docker run -p 9000:9000 -p 9090:9090 \
 --net=host \
 --name minio-test \
 -d --restart=always \
 -e "MINIO_ACCESS_KEY=minioadmin" \
 -e "MINIO_SECRET_KEY=minioadmin" \
 -v /data/minio/data:/data \
 -v /data/minio/config:/root/.minio \
 minio/minio server \
 /data --console-address ":9090" -address ":9000"
 
这里的9090端口指的是minio的客户端端口。虽然设置9090,但是我们在访问9000的时候,他会自动跳到9090。
MINIO_ACCESS_KEY :账号
MINIO_SECRET_KEY :密码

5、防火墙放行端口
firewall-cmd --zone=public --add-port=9000/tcp --add-port=9090/tcp --permanent
firewall-cmd --reload 


6、访问查看
http://IP:9090

springboot docker

vim /lib/systemd/system/docker.service
# 找到ExecStartExecStart=/usr/bin/dockerd $OPTIONS \
                           $DOCKER_STORAGE_OPTIONS \
                           $DOCKER_NETWORK_OPTIONS \
                           $INSECURE_REGISTRY

# 修改为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 保存退出。

systemctl daemon-reload
systemctl restart docker

firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload 

curl http://ip:2375/version
curl http://ip:2375/images/json

dockerfile

FROM openjdk:17
MAINTAINER 李昊哲<646269678@qq.com>
EXPOSE 6633
ADD target/hellodocker.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

你可能感兴趣的:(大数据,人工智能,云计算,docker,云原生,nginx)