-
卸载旧的安装包 yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine -
安装需要的安装包 yum install -y yum-utils
-
设置镜像的仓库 yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo --默认是国外的#如果没有vpn 建议安装阿里云的 yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum 索引安装包 yum makecache fast -
安装docker相关的 yum install docker-ce docker-ce-cli containerd.io
(可能会出错,多试几次) 第五步启动docker 服务 systemctl start docker #查看docker
是否安装完成 docker --version 第六步 hello world docker run hello-world
#查看所有的docker 镜像 docker images
#docker搜索aspnet
docker search aspnet
#安装aspnet最新版
docker pull mcr.microsoft.com/dotnet/core/aspnet:latest
#安装aspnet5.0
docker pull mcr.microsoft.com/dotnet/aspnet:5.0
#查看镜像
docker images
#删除镜像
docker rmi [REPOSITORY]
#查看容器
docker ps
docker ps -a
#删除容器
docker rm [container id]
#docker运行Asp.NetCore程序
docker run -d -p 8081:80 -v /usr/wwwroot/webcore:/app
--workdir /app mcr.microsoft.com/dotnet/aspnet:5.0 dotnet /app/WebCore.dll
#挂载目录:-v /usr/wwwroot/webcore:/app
#指定运行容器的镜像+版本:/app mcr.microsoft.com/dotnet/aspnet:5.0
#命令允许Asp.NetCore程序: dotnet /app/WebCore.dll
#DockerFile方式运行ASP.NetCore程序
#1、上传项目 2、移动Dockerfile文件到sln目录
#先跳转到项目目录
cd /usr/wwwroot/dockerfile/WebCore
#编译创建镜像(注意最后面有个点)
docker build -t core31v1.1222 -f Dockerfile .
#运行(-itd:表示交互式的后台运行)
docker run -itd -p 8084:80 core31v1.1222
docker run -itd -p 8085:80 core31v1.1222
5.安装nginx
#搜索nginx
docker search nginx
#拉取nginx
docker pull nginx
#运行nginx
docker run –d nginx
#进入
docker exec -it [CONTAINER ID] /bin/bash
ls(列出所有文件) cd etc-> cd nginx进入目录
cat nginx.conf
#停止docker 某容器
docker stop [CONTAINER ID]
#删除容器
docker rm [CONTAINER ID]
#运行nginx容器
#-d(表示后台运行) ;-p(表示端口映射) ;
#目录挂载 -v /usr/wwwroot/nginx/:/var/log/nginx
docker run -d -p 80:80 -p 443:443 -v /usr/wwwroot/nginx/conf.d:/etc/nginx/conf.d -v /usr/wwwroot/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -v /usr/wwwroot/nginx/log:/var/log/nginx/ --name mnginx nginx
#同步挂载配置目录:-v /usr/wwwroot/nginx/conf.d:/etc/nginx/conf.d
#同步挂载配置文件:-v /usr/wwwroot/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
#同步nginx日志到/usr/wwwroot/nginx/log目录: -v /usr/wwwroot/nginx/log:/var/log/nginx/
#重启Nginx容器(比如修改配置后需要重启nginx)
docker restart[CONTAINER ID]
6.安装redis
#搜索redis
docker search redis
#拉取redis
docker pull redis
#默认启动redis
docker run -d -p 6379:6379 --name redis02 redis:latest redis-server
#挂载启动redis(1、改了端口;2、持久化数据保存到ecs)
docker run -d -p 6380:6380 -v /usr/wwwroot/redis/redis.conf:/usr/local/etc/redis/redis.conf -v /usr/wwwroot/redis/data:/data:rw --name redis02 redis:latest redis-server /usr/local/etc/redis/redis.conf
#配置文件映射:-v /usr/wwwroot/redis/redis.conf:/usr/local/etc/redis/redis.conf
#docker容器不适合保存固化数据,应该把数据保存到esc中 -v /usr/wwwroot/redis/data:/data:rw
#redis启动命令: redis-server /usr/local/etc/redis/redis.conf
#数据持久化()
bgsave
#配置文件
bind(本地IP)
protected-mode no(允许另外的主机访问;yes=不允许)
port 6379(端口)
#重启redis
docker start [CONTAINER ID]
redis配置文件: redis.conf
7.Docker Compose 概述与安装使用
前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知
使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具
#下载
curl -L "https://github.com/docker/compose/releases/download/1.28.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#授权(将可执行权限应用于二进制文件:)
chmod +x /usr/local/bin/docker-compose
#查看安装是否成功
docker-compose -v
docker-compose command
#停止并删除所有容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
#yaml格式检查
https://toyaml.com/index1.html
#先进入目录
cd /usr/wwwroot
#运行docker-compose(-d:表示后台运行;up:当前目录查找)
docker-compose up -d
docker-compose配置文件: docker-compose.yml