Uno, instalar Docker
1.1 Ver la versión de Linux
cat /etc/redhat-release
1.2 Instale las bibliotecas necesarias
# yum-utils 提供了 yum-config-manager
# device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
yum install yum-utils device-mapper-persistent-data lvm2
1.3 Configuración y uso de Alibaba Cloud Image Warehouse
# 设置镜像仓库,使用阿里云镜像地址,配置存放在/etc/yum.repos.d/docker-ce.repo中
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.4 Actualizar el índice del paquete yum, instalar la ventana acoplable, iniciar
# 更新yum软件包索引
yum makecache fast
# 安装docker-ce(centos7),docker-io(centos6)
yum -y install docker-ce
# 启动
systemctl start docker
# 查看状态
systemctl status docker
# 查看版本
docker version
Dos, configurar la aceleración del espejo
2.1 Para encontrar su propia dirección de aceleración espejo, debe iniciar sesión en su cuenta para encontrar la suya propia.
2.2 Modificar archivo de configuración de aceleración
# 没有就新建配置文件,有就修改
vim /etc/docker/daemon.json
Agregue la siguiente cadena json (complete su propia dirección exclusiva para la dirección)
{
"registry-mirrors": ["https://hq5nabsr.mirror.aliyuncs.com"]
}
# 网易云地址
{
"registry-mirrors": ["https://hub-mirror.c.163.com/"]
}
2.3 Actualizar y reiniciar la ventana acoplable
# 刷新、重启
systemctl daemon-reload
systemctl restart docker
Tres comandos básicos
3.1 Comando espejo
# 列出本机所有的镜像
docker images
# 可以跟参数
-a //列出所有
-q //只显示id
--digests //显示摘要信息
--no-trunc //显示完整信息
# 查找官方网站中某个镜像
docker search tomcat
# 下载tomcat镜像。后边不跟版本号,表示latest
docker pull tomcat
# 删除镜像,不加版本号默认是latest
docker rmi tomcat
# 强制删除某个镜像
docker rmi -f tomcat
# 强制删除多个
docker rmi -f tomcat nginx
# 强制删除所有
docker rmi -f $(docker images -qa)
3.2 Comandos de contenedor
3.2.1 Iniciar un contenedor interactivo
# 新建并启动启动交互式容器
docker run -it centos
-i // 以交互模式运行容器,通常与-t同时使用
-t // 为容器重新输入一个伪输入终端,与-i一起使用
--name // 给容器起个名字
# 列出当前所有正在运行的容器
docker ps -lq
-l //最近运行的一个容器
-q //只显示容器id
-n //后边跟最近几个运行的容器
-a //列出所有
# 启动容器
docker start 容器ID或名字
# 重启容器
docker restart 容器ID或名字
# 停止容器
docker stop 容器ID或名字
# 强制停止容器
docker kill 容器ID或名字
# 删除停止的容器
docker rm 容器ID或名字
# 强制删除某个容器(可以是运行中的)
docker rm -f 容器ID或名字
# 强制删除所有,包括运行中的
docker rm -f $(docker ps -qa)
# 同上,删除多个容器
docker ps -qa | xargs docker rm
3.2.2 Iniciar un contenedor daemon (ejecutándose en segundo plano)
# 新建并启动守护式容器,也就是后台运行的进程
docker run -d centos
# 查看容器日志
docker logs -f -t --tail 5 容器ID
-f // 跟随最新的日志打印
-t // 加入时间戳
--tail // 显示最后5条日志
# 查看容器内进程
docker top 容器id
# 查看容器内部细节
docker inspect 容器ID
3.2.3 Salir del contenedor
# 停止并退出容器
exit
# 不停止、退出容器
ctrl+P+Q
3.2.4 Vuelva a entrar en un contenedor salido pero no detenido
# 进入某个退出但未停止的容器
docker attach 容器ID
# 同上,进入容器
docker exec -it 容器ID /bin/bash
# 不进入,查询容器某个目录
docker exec -it 容器ID ls -lh /tmp
3.2.5 Copiar los datos del contenedor al host
# 拷贝容器中的某个文件到主机某个目录
docker cp 容器ID:/root/test.txt /root
docker cp 容器名字:/root/test.txt /root
3.2.6 Copiar el archivo de host a la ventana acoplable
# 拷贝主机文件到docker
docker cp /root/test/test.conf 容器ID:/root/test/
docker cp /root/test/test.conf 容器名字:/root/test/
3.3 Volumen de datos del contenedor: realice el intercambio de datos y la persistencia de datos entre el contenedor y el host
3.3.1 Línea de comando -v add
# docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it -v /hostData:/containerData centos
3.3.2 Agregar DockerFile
Escribir manualmente un archivo dockerfile |
El comando docker build se ejecuta para obtener una imagen personalizada |
imagen de ejecución de Docker |
Cuatro, instalación de software común
4.1 Instalar mysql
# 拉取mysql
docker pull mysql
# 查看
docker images
# 启动运行容器
# 第一行:主机端口12345映射到docker的3306
# 第二行:主机和容器的配置文件挂载
# 第三行:主机和容器的日志目录挂载
# 第四行:主机和容器的data目录挂载
# 第五行:初始化root密码
# 第六行:后台运行mysql
docker run -p 12345:3306 --name mysql
-v /wenlong/mysql/conf:/etc/mysql/conf.d
-v /wenlong/mysql/logs:/logs
-v /wenlong/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
-d mysql
Es posible que se requiera autorización al usar Navicat o SQLyog para conectarse de forma remota
# 登录docker
docker exec -it 43103e45832f /bin/bash
# 登录
mysql -uroot -p
# 登录后授权可以从任何地方使用root用户访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
flush privileges;
# 退出
exit
4.2 instalar redis
# 拉取redis
docker pull redis
# 第一行:启动容器,端口号6379
# 第二行:数据目录挂载
# 第三行:配置文件目录挂载
# 第四行:后台启动redis redis-server,配置文件是redis.conf
# 第五行:开启持久化
docker run -p 6379:6379
-v /wenlong/redis/data:/data
-v /wenlong/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
-d redis redis-server /usr/local/etc/redis/redis.conf
--appendonly yes
# 宿主机连接redis
docker exec -it 运行中的容器ID redis-cli
# 当容器退出时,数据被持久化保存
# 保存位置:标识在上边启动容器命令行第二行中
# 宿主机在/wenlong/redis/data/;容器在/data/中
vim /wenlong/redis/data/appendonly.aof
# 登录容器查看data
docker exec -it 运行中的容器ID /bin/bash
También puede utilizar la herramienta redis-desktop-manager para navegar