Docker安装与部分应用安装

Docker 安装

docker 只有运行在 Linux 中。

windows 环境

直接 安装 虚拟机 或者 wsl2 安装 Linux 发行版。然后安装 Docker

Mac 环境

macos上没有wsl那种Linux 只有安装docker desktop。实际上docker desktop 在内部运行了一个Linux 虚拟机,docker 就在这虚拟机上运行

ubuntu 环境

安装前置工具

一般来说是默认安装了的,执行

arduino 复制代码
sudo apt-get install ca-certificates curl gnupg lsb-release

安装docker官方的GPG key

这里的操作 实际上就是下载一个文件 去加入apt,正常来说是下载 官方 的,但是由于国外的docker官方不好访问 这里我直接使用的网易的镜像去拉取得gpg 当然其他的也可以。

先 新建文件夹存放gpg(注意加载那个命令也为这个地址)

bash 复制代码
sudo mkdir -p /etc/apt/keyrings

然后下载并加载。(如果不用这个镜像就直接换链接)

bash 复制代码
curl -fsSL https://mirrors.163.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

将Docker的库添加到apt资源列表

这里为添加库,以后就是那种 apt 的更新那些都会更新。

docker 无法直接访问了,需要换源。我这里选择的是阿里镜像。

bash 复制代码
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新apt

sql 复制代码
sudo apt update

安装docker ce版本

复制代码
sudo apt install docker-ce

安装测试

css 复制代码
sudo docker --version

加速加速源(可选)

加速源的操作是建立在 docker 已经安装好之后。前面更换镜像是为了下载 docker ,待 docker 安装完了之后,可以设置加速源去加速内部镜像下载那些。

加速就是在daemon.json填写地址。

阿里有一个免费的加速源 每个人都不一样 得到那个链接如 xxxx.mirror.aliyuncs.com

创建文件夹

bash 复制代码
sudo mkdir -p /etc/docker

设置加速器地址【加速地址换成自己的】

bash 复制代码
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [" https://xxxx.mirror.aliyuncs.com"]
}
EOF

重新加载配置

复制代码
sudo systemctl daemon-reload

重启docker

复制代码
sudo systemctl restart docker

镜像源列举(镜像源需要自己去寻找。由于一些原因导致现在很多镜像源不可用)

json 复制代码
{
  "registry-mirrors": [
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.m.daocloud.io",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud",
    "https://noohub.ru"
  ]
}

额外

有些用户可能出现每次都要使用 sudo 的情况,

解决每次都sudo的问题

sql 复制代码
sudo groupadd docker    会回显group 'docker' already exists
sudo gpasswd -a <你的用户名> docker     例如: sudo gpasswd -a xxxx docker
sudo service docker restart  重启docker

Docker 清除缓存与卸载

强制删除docker缓存,释放磁盘空间

css 复制代码
docker system prune -a --force

Docker 应用安装

映射端口与密码因人而定

MySQL

用户名 root 密码 123456

ini 复制代码
docker pull mysql:8.0.32
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.32

Redis

密码 123456

arduino 复制代码
docker pull redis
docker run -p 6379:6379 --name redis -d redis --requirepass 123456

Nacos

用户名:nacos 密码:nacos

diff 复制代码
sudo docker pull nacos/nacos-server

sudo docker run \
-p 8848:8848 \
--env MODE=standalone \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
--name nacos \
-d nacos/nacos-server

Minio

--console-address ":9001" 是监听容器内的方法 所以是 9001 端口

9001是浏览器访问 9000是api操作

bash 复制代码
docker pull minio/minio

docker run -d -p 9000:9000 -p 9001:9001 \
  --name dminio \
  -e "MINIO_ROOT_USER=minioAdminDy" \
  -e "MINIO_ROOT_PASSWORD=minioAdminDy" \
  -v /home/dockerconf/minio/data:/data \
  -v /home/dockerconf/minio/config:/root/.minio \
  minio/minio server /data \
  --console-address ":9001"

RabbitMQ

有点麻烦 这个不仅要启动容器还要启动插件 (顺序是先是启动容器 再进入容器启动插件 )

ini 复制代码
docker pull rabbitmq
运行容器还要启动插件      
docker run -d --hostname my-rabbit --name drabbit -p 15672:15672 -p 5673:5672 rabbitmq

这是启动并启动插件
docker run -d --name drabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management


我的启动命令是
docker run -d --name drabbit -e RABBITMQ_DEFAULT_USER=rabbitdy -e RABBITMQ_DEFAULT_PASS=rabbitdy -p 15672:15672 -p 5672:5672  rabbitmq:management

根据我的需求来 来开辟端口 现在我只使用 5672与15672

Nginx

nginx 需要挂载 不然部署网站会很麻烦。

要挂载 3 个文件夹 conf log html 我们事先不知道那三个内部是什么,所以就需要先创建并启动一个容器 复制这 3 个出来 然后再删掉临时容器。再创建自己想要的容器。

拉取镜像

复制代码
docker pull nginx

创建挂载目录

这个文件夹位置自拟

arduino 复制代码
mkdir -p /home/dockerconf/nginx/conf
mkdir -p /home/dockerconf/nginx/log
mkdir -p /home/dockerconf/nginx/html

复制文件

生成临时容器 复制那 3 个目录到创建的目录中

bash 复制代码
# 生成容器
docker run --name nginx -p 80:80 -d nginx

# 复制
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/dockerconf/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/dockerconf/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/dockerconf/nginx/


# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx

创建容器

bash 复制代码
docker run \
-p 80:80 \
--name dnginx \
-v /home/dockerconf/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/dockerconf/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/dockerconf/nginx/log:/var/log/nginx \
-v /home/dockerconf/nginx/html:/usr/share/nginx/html \
-d nginx:latest

或者

docker run -p 80:80 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx:latest
相关推荐
wazmlp00188736912 小时前
k8s pod 管理
docker·容器·kubernetes
江湖有缘12 小时前
Docker开源项目: 基于Ubuntu系统部署ExpenseOwl自托管记账工具实战教程
ubuntu·docker·开源
流星白龙15 小时前
【Docker】9.Docker 镜像仓库实战
运维·docker·容器
张洛闻Eren15 小时前
云原生k8s【第六课】:K8s 访问控制
运维·docker·云原生·容器·kubernetes·k8s
用户9385156350715 小时前
从同源策略到Nginx代理:React+NestJS全栈项目跨域实战
后端·docker
识途老码17 小时前
docker运行sqlserver
docker·容器·sqlserver
心之语歌17 小时前
Windows Docker Desktop 部署 SQL Server 2022 完整安装手册
windows·docker·容器
荔枝吻17 小时前
【保姆级喂饭教程】 Windows下WSL2+Docker+Qdrant安装教程
windows·docker·wsl2·qdrant
java_logo17 小时前
Docker 部署 TypeWords:轻松搭建英语单词与文章练习平台
运维·docker·容器·轩辕镜像·typewords·英语单词练习·四级单词练习
程序员老赵17 小时前
Docker 部署 Calibre-Web:轻松搭建网页版电子书管理平台
docker·开源·电子书