podman案例:启动一个mysql数据库容器,创建时注入环境变量

使用podman启动一个mysql数据库容器,然后在创建的时候进行数据初始化,进入容器进行确认。

1.首先将registry.redhat.io这个镜像仓库中的镜像下载到本地,做好相关的准备工作
[root@rhel-liuyunfei-82 ~]# podman pull registry.redhat.io/rhel8/mariadb-105:1-25
Trying to pull registry.redhat.io/rhel8/mariadb-105:1-25...
Getting image source signatures
Copying blob 47aa3ed2034c done
Copying blob eac1b95df832 done
Copying blob e9046716b06d done
Copying blob 982aaeaf08e7 done
Copying config 788859b7aa done
Writing manifest to image destination
Storing signatures
788859b7aa2da236b2dd90159bc0a8f21c601578cfb14aa74aac3de4d379caa8

# 确认是下载成功了
[root@rhel-liuyunfei-82 ~]# podman images
REPOSITORY                             TAG      IMAGE ID       CREATED       SIZE
registry.redhat.io/rhel8/mariadb-105   1-25     788859b7aa2d   7 days ago    594 MB
2.如果想要了解此镜像的一些详细信息,可以使用如下命令进行查询,但是此命令用于查询本地镜像,如果想要查询在线镜像,可以使用skopeo命令,下期我讲解这个命令
[root@rhel-liuyunfei-82 ~]# podman inspect registry.redhat.io/rhel8/mariadb-105
3.使用podman启动一个mysql容器,并注入环境变量,进行端口映射等等。
3.1一般环境变量
  • 普通用户用户名:MYSQL_USER
  • 普通用户密码:MYSQL_PASSWORD
  • root密码:MYSQL_ROOT_PASSWORD
  • 初始化数据库:MYSQL_DATABASE
3.2端口映射
  • 作用:如果我们启动了一个mysql的容器,如果想要外部和容器内部的mysql进行数据传递,必须要进行端口映射,否则外部用户访问默认端口3306就只会访问到Linux系统的3306号端口,而不会访问到容器内部mysql的3306号端口
# 然后我们可以使用命令,后台启动mysql容器,在启动的时候可以注入一系列环境变量,比如当进入mysql数据库时,需要用户名,密码等信息,或者也可以为root用户初始化一个密码等等。

# 但是为了保证从系统外部可以访问到我们的mysql数据库,必须设置端口映射(它的作用是当外部访问到达系统的时候,可以自动通过端口映射转到容器的指定端口,从而实现外部和系统内部的容器的数据交互。)
[root@rhel-liuyunfei-82 ~]# podman run -d --name=mysql-1 -e MYSQL_USER=liuyunfei -e MYSQL_PASSWORD=123456 -e MYSQL_DATABASE=Linux -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 registry.redhat.io/rhel8/mariadb-105:1-25
619c9283c62cf1ba1a855bde99b7e6b54b42e948bed95dbeecd96fa9c86b5526
4.进入容器进行验证,检查是否创建成功
# 此时进入容器进行验证,i:interactive(交互式的),t(启动一个伪终端)
[root@rhel-liuyunfei-82 ~]# podman exec -it mysql-1 /bin/bash
# 先查看服务是否启动
bash-4.4$ ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
mysql          1       0  0 02:04 ?        00:00:00 /usr/libexec/mysqld --defaults-file=/etc/my
mysql        185       0  5 02:05 pts/0    00:00:00 /bin/bash
mysql        190     185  0 02:05 pts/0    00:00:00 ps -ef

# 进入容器中的mysql数据库,需要指定我们启动容器的时候的用户名,密码,端口号,以及主机的IP地址
bash-4.4$ mysql -u liuyunfei -p --port=3306 --host=127.0.0.1
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 10.5.9-MariaDB MariaDB Server

#查询一下所有的数据库,看是否有我们启动容器的时候初始的Linux数据库,如果有说明顺利完成任务
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| Linux              |
| information_schema |
| test               |
+--------------------+
3 rows in set (0.001 sec)

# 此时一切顺利,全部完成,如果想要退出,输入exit即可
MariaDB [(none)]> exit
Bye
bash-4.4$ exit
exit

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值