2021-09-08东软Linux学习-----CentOS Docker wordpress compose registry Cockpit

简介: 2021-09-08东软Linux学习-----CentOS Docker wordpress compose registry Cockpit

常用命令

登录

往docker hub上上传东西的话必须先登录,docker login

镜像打包

docker tag 426789501106 tomz1115/202199:tagname

镜像上传

docker push tomz1115/202199:tagname

查看

docker container ls

查看路径

pwd

查看镜像

docker image ls

查看持续跟踪的日志

docker container logs

退出

Ctrl C,exit

重启docker

systemctl restart docker



常用操作

新建数据库

新建端口号为25306的数据库

docker container create --name mysql -e MYSQL_ROOT_PASSWORD=root -p 25306:3306 mysql

查看

docker container ls

跑起来

docker container run 2

打开防火墙

firewall-cmd --zone=public --add-port=25306/tcp --permanent

重新加载

firewall-cmd --reload


创建容器(标准化创建容器方式)

镜像的id是一定的,容器的id是随机生成的

docker container run -it -v /docker/mysql:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=fps -e MYSQL_USER=scott -e MYSQL_PASSWORD=tiger -p 13306:3306 -d mysql:5.7


外部挂载到里部,里部挂载到外部

左侧数组机,右边容器

不允许整个目录挂载,所以是空的

这是内部挂载到外部,右边弄到左边,就算删除的时候,外部的文件也是不删除的,当再次创建的时候外部有文件,内部没文件,这时候就是往里面挂载了,哪边有数据哪边往另一边挂,这个时候外部覆盖掉里部,这时候容器的数据又回来了,新的容器里面装着之前的数据,这就是容器化的另外一个优势

这时候说明var/lib下的文件允许挂载

进入容器

docker container exec -it ca bash

停止容器

docker container stop ca

开始容器

docker container start ca

删除容器非运行

docker container rm ca

强制删除容器

docker container rm -f ca

容器也是Linux系统结构,现在我们的是window系统上面安装centos7.6系统,容器安装了docker软件有mysql容器,centos7.6系统是容器的数组机


把容器打成镜像

把容器做成镜像,把镜像给别人,别人在转成容器直接用

打包

docker container commit 50e my:v5.7.1

查看镜像

docker image ls

运行镜像

docker container run -it -p 33306:3306 -d my:v5.7.1

删除镜像

docker rmi ssss


主机centos的文件和容器里面的互相拷贝

必须要用主机完整版id,会用挂载这种就用的很少了,如果容器里面的好多文件不让挂载,可以用这种把容器里面的拷出来


查看log日志

一些参数

调试的话先ping web看网通不通

查看持续跟踪的日志

docker container logs

Ctrl C退出


自启动容器

重启docker

systemctl restart docker

容器总是启动

docker container update --restart “always” cd3

docker启动容器就启动,重要的再设置,启动速度和centos的内存相关联,比如数据库啥的可以设成自启动,可以在创建的时候或者run的时候就设置成为自启动



创建wordpress学习

下载

docker pull wordpress

启动

docker container run -it -p 11080:80 -d wordpress

冒号前面是被映射的端口,后面是可以开放的端口,wordpress允许80端口

如果出错,打开防火墙

开始

在网址中打开192.168.137:11080

新建MySQL容器

新建个MySQL容器新建一个数据库名字和网址让输入的名字保持一致

docker container run -it -v /docker/mysql:/var/lib/mysql -eMYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=fps -e MYSQL_USER=scott -e MYSQL_PASSWORD=tiger -p 23306:3306 -d mysql:5.7

如果用第二种方式link分为外网(centos的系统)内网访问,内网更安全,

内部MySQL和wordpress交互了就

查找内网ip

[root@localhost ~]# docker container run --link unruffled_varahamihira -e WORDPRESS_DB_HOST=unruffled_varahamihira:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=root -e WORDPRESS_DB_NAME=wordpress -e WORDPRESS_TABLE_PREFIX=wp_ -p 11080:80 -d wordpress

这个name是数据库随机生成的名字 还有就是root前不能有空格否则认为两条语句



网络学习

第三种链接方法,把link扔了,这个更安全,如果不需要外网访问连映射都不用写,23306不用谢,这时候只有wordpress才能访问这个MySQL

查看

docker network ls

某一个容器

docker network inspect a8

创建一个网络

docker network create myssss

将容器连接到网络

docker network connect 13e (wangluo) 63ee(容器)

这个容器就放到了两个网络里面了

将容器断开网络

docker network disconnect 13e (wangluo) 63ee(容器)



compose学习

下载网址 https://docs.docker.com/compose/install/

使用

新建一个yml文档,

填写service服务

看是否能通过

docker-compose -f /docker_compose/mysql5.7_com.yml config

查看帮助

docker-compose -f /docker_compose/mysql5.7_com.yml up --help

创建

docker-compose -f /docker_compose/mysql5.7_com.yml up -d

创建的时候自定义名字

docker-compose -f /docker_compose/mysql5.7_com.yml -p com up -d

两个不要一起用有bug

暂停的时候要有名字用名字stop

docker-compose -f /docker_compose/mysql5.7_com.yml -p test stop

conpose自己的删除

docker-compose -f /docker_compose/mysql5.7_com.yml rm

自命名的话也要加自己的名字

如果删不了就container删除

conpose先暂停再删除

docker-compose -f /docker_compose/mysql5.7_com.yml rm -s

conpose启动

docker-compose -f /docker_compose/mysql5.7_com.yml start

conpose全部删除包括网络

docker-compose -f /docker_compose/mysql5.7_com.yml down

conpose更新

docker-compose -f /docker_compose/mysql5.7_com.yml up -d

更新的话就是直接把更改的覆盖掉


如果两个默认的在同一个文件夹,那么会覆盖

如果默认和自命名在同一个文件夹,那么会有两个network,两个container创建成功,只有第一个启动了

如果默认的在两个文件夹,那么会建两个network,两个container创建成功,只有第一个启动了

如果自定义的在两个文件夹,那么新建两个network,两个container创建成功,只有第一个启动了


填写service服务mysql+WordPress

version: "3.9"  # optional since v1.27.0
services:
  dev_mysql:
    image: mysql:5.7
    ports:
      - "23306:3306"
      - "33060:33060"
    volumes:
      - /docker/mysql/data:/var/lib/mysql
      - /docker/mysql/conf:/etc/mysql/conf.d
      - /etc/localtime:/etc/localtime:ro
    environment:
      - MYSQL_DATABASE=wordpress
      - MYSQL_ROOT_PASSWORD=root
      - TZ="Asia/Shanghai"
  dev_wordpress:
    image: wordpress
    ports:
      - 18080:80
    environment:
      WORDPRESS_DB_HOST: dev_mysql
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: root
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - /docker/wordpress/data:/var/www/html

在一个网络内两个yml可以连通,两个不同的网络内两个yml如何连通?创建一个网络,让他俩加入

version: "3.9"  # optional since v1.27.0
networks:
  compose_net:
    external: true
services:
  dev_wordpress:
    networks:
      - compose_net
    image: wordpress
    restart: always
    ports:
      - 18080:80
    environment:
      WORDPRESS_DB_HOST: dev_mysql
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: root
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - /docker/wordpress/data:/var/www/html

引用一个外部的compose的话用下面这个



dockerfile学习

docker私服搭建

为了保证自己数据的安全不把数据放在共有的上面去,有些为了解决下载网速的问题,所以搭建了一个私服,很多公司都是走的私服,有些甚至不让连外网,用私服还可以严格的控制版本,dockerhub共有最多上传五个

学习官方的私服

docker image pull registry

version: "3.9"  # optional since v1.27.0\
services:
  registry:
    image: registry
    ports:
      - "58888:5000"
    environment:
      - MODE="standalone"
      - TZ="Asia/Shanghai"  

{

“insecure-registries”:[“192.168.137.2:58888”]

}

第一条命令里面要修改文件

docker image push 192.168.137.2:58888/registry:v1


第三方的私服

上面不显示版本不好用,用第三方的私服,



dockerfile构建镜像

指令都大写,指令自上而下执行,由基础镜像组成,hub上任何一个镜像都可以作为基础镜像,越纯净越安全,越好

上面是文件的版本,下面是镜像的版本

# Version:0.0.1 
# dockerFile 注释
FROM ubuntu:14.04 as Ubuntu
# 指定一个已存在镜像(基础镜像)
MAINTAINER tomz1115
# 设置作者
RUN apt-get update
# 运行当前命令
RUN apt-get install -y nginx
# 支持exec格式,例 RUN ["apt-get","install","-y","nginx"]
EXPOSE 80
# 开放端口
FROM nginx 
#COPY dist/ /usr/share/nginx/html/

docker image build -f /docker_compose/nginx -t ‘tomz1115/nignx:v1’ .

Cockpit

安装

centos上

yum install cockpit

启动

systemctl start cockpit

systemctl enable cockpit.socket

打开

https://192.168.137.2:9090

设置防火墙

firewall-cmd --add-service=cockpit --permanent

success

firewall-cmd --reload

success


虚拟机改ip


目录
相关文章
|
12月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1512 25
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
1262 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
10月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
652 0
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
499 10
|
7月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
791 1
二、Linux文本处理与文件操作核心命令
|
7月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
460 137
|
7月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1235 58
|
10月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
846 143
linux命令—tree
|
6月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1119 2
|
7月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
642 0
Linux内存问题排查命令详解

热门文章

最新文章