CentOS 7 安装docker (使用yum进行安装)
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
# Step 5: 设置开机自启
# sudo chkconfig docker on
# 关闭开机自启 systemctl disable docker.service
systemctl enable docker
注意:其他注意事项在下面的注释中
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
# 注意:在某些版本之后,docker-ce安装出现了其他依赖包,如果安装失败的话请关注错误信息。例如 docker-ce 17.03 之后,需要先安装 docker-ce-selinux。
# yum list docker-ce-selinux- --showduplicates | sort -r
# sudo yum -y install docker-ce-selinux-[VERSION]
# 通过经典网络、VPC网络内网安装时,用以下命令替换Step 2中的命令
# 经典网络:
# sudo yum-config-manager --add-repo http://mirrors.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
# VPC网络:
# sudo yum-config-manager --add-repo http://mirrors.could.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
docker设置国内镜像
vi /etc/docker/daemon.json
# 内容如下:
{
"registry-mirrors": [
"https://xx4bwyg2.mirror.aliyuncs.com",
"http://f1361db2.m.daocloud.io",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}{}
# 一般情况下,修改/etc/apt/sources.list文件,将Debian的默认源地址改成新的地址即可,比如将http://deb.debian.org改成https://mirrors.163.com,可使用以下命令:
sed -i "s@http://deb.debian.org@https://mirrors.163.com@g" /etc/apt/sources.list
# 退出并保存
:wq
# 使配置生效
systemctl daemon-reload
# 重启Docker
docker 日志
# 例如打印容器mytest应用后10行的内容。
docker logs --tail="10" mytest
# 查看最近30分钟的日志:
docker logs --since 30m CONTAINER_ID # (容器名或id)
# 查看指定时间后的日志,只显示最后100行:
docker logs -f -t --since="2020-11-10" --tail=100 CONTAINER_ID
# 查看某时间之后的日志:
docker logs -t --since="2020-11-10T00:00:37" CONTAINER_ID
# 查看某时间段日志:
docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
安装nginx
镜像
docker pull nginx:1.19
运行容器
# -p 8081:80: 将容器的 80 端口映射到主机的 8082 端口.
# --name nginx-test-web:将容器命名为 nginx-test-web
# -v /home/nginx/www:/usr/share/nginx/html:将我们自己创建的 www 目录挂载到容器的 /usr/share/nginx/html。
# -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的 nginx.conf 挂载到容器的 /etc/nginx/nginx.conf。
# -v /home/nginx/logs:/var/log/nginx:将我们自己创建的 logs 挂载到容器的 /var/log/nginx。
docker run -d -p 8081:80 -p 443:443 --name nginx-test-web \
-v /home/nginx/www:/usr/share/nginx/html \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/logs:/var/log/nginx \
nginx:1.19
复制nginx 配置
# 运行一个测试 nginx 将容器里的配置复制到本机目录
# --rm:容器终止运行后,自动删除容器文件。
docker run --rm -d -p 8081:80 -p 443:443 --name nginx-test-web
# 容器文件路径/etc/nginx 复制到本机 /home/nginx/conf/
# 注意 容器文件复制到本机时,/home/nginx/conf/ 会多一个nginx 目录,,运行容器挂在目录时要对应 -v /home/nginx/conf/nginx:/etc/nginx
docker cp nginx-test:/etc/nginx /home/nginx/conf/
安装 mysql
镜像
docker pull mysql:5.7
运行容器
docker run -d -p 3306:3306 --name mysql-web \
-v /home/mysql/conf:/etc/mysql \
-v /home/mysql/logs:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=xxxxxx \
mysql:5.7
安装 redis
镜像
docker pull redis:5.0
运行容器
# 修改启动默认配置(从上至下依次):
bind 127.0.0.1 # 注释掉这部分,这是限制redis只能本地访问
protected-mode no # 默认yes,开启保护模式,限制为本地访问
daemonize no # 默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败(docker启动时redis 必须为 no)
databases 16 # 数据库个数(可选),我修改了这个只是查看是否生效。。
dir ./ # 输入本地redis数据库存放文件夹(可选)
appendonly yes # redis持久化(可选)
requirepass xxxxx # 配置redis访问密码
# 运行配置文件redis, redis.conf 可以下载对应版本的安装包,复制redis.conf文件
docker run -p 6379:6379 --name redis-web \
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /home/redis/data:/data \
-d redis:5.0 \
redis-server /etc/redis/redis.conf --appendonly yes
newbe 国内Redis 国内加速下载
华为 Redis 国内加速下载
容器开机自启
# 使用命令格式
docker update --restart=always 容器名称或者容器id
部署node项目
FROM node:14.5.0-alpine
MAINTAINER de
RUN mkdir -p /home/imgmini
ADD ./img_mini_pro /home/imgmini
WORKDIR /home/imgmini
EXPOSE 8890
CMD ["node", "/home/imgmini/index.js"]
其他
yum
我们在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存
yum makecache fast
这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度
yum clean all
yum 会把下载的软件包和header存储在cache中而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令清除缓存。