Docker部分运维题及处理方式

Docker部分运维题及处理方式
1、在server 节点使用nginx 镜像创建一个名为xiandian 的容器,只能使用 0 这个内核,镜像使用 nginx:latest,并通过查在server 节点使用nginx 镜像创建一个名为xiandian 的容器,只能使用 0 这个内核,镜像使用 nginx:latest,并通过查看 Cgroup 相关文件查看内核使用情况看 Cgroup 相关文件查看内核使用情况。

# docker run -itd --name xiandian --cpuset-cpus="0" nginx:latest /bin/bash
# cat /sys/fs/cgroup/cpuset/system.slice/docker-f991f6a64789f96e592a768789df4d6c6a1dac449d52903fe3b21cb8d1701651.scope/cpuset.cpus

2、 在容器 server 节点运行mysql:8.0 镜像,设置数据库密码为xd_root,将 server 节点的 13306 端口映射到容器 3306 端口; 进入容器创建名为 xd_db 的数据库,创建名为 xiandian, 密码为 xd_pass 的用户,设置此用户对 xd_db 数据库拥有所有权限和允许此用户远程访问;使用 xiandian 用户远程登录数据库并查询数据库内的数据库列表。

# docker run -itdP -e MYSQL_ROOT_PASSWORD=xd_root -p 13306:3306 192.168.200.7:5000/mysql:8.0
# docker exec -it 86811f070f7d /bin/bash
# mysql -uroot -pxd_root
# mysql> create database xd_db;
# mysql> grant all privileges on xd_db.* to 'xiandian'@'%' identified by "xd_pass";
# mysql -uxiandian -pxd_pass -h 172.17.0.5 -e "show databases"

3、 (1)在容器 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为 192.168.3.0/24,网关为 192.168.3.1

# docker network create --subnet=192.168.3.0/24 --ip-range=192.168.3.0/24 --gateway=192.168.3.1 xd_net

(2) 启动镜像为 centos:latest、名为 centos-xd、网络为 xd_net的容器

# docker run -ditP --name centos-xd --net=xd_net centos:latest

(3) 使用inspect -f 命令查询容器 IP 地址

# docker inspect -f '{{.NetworkSettings.Networks.xd_net.IPAddress}}' centos-xd

(4) 使用 inspect -f 命令查询容器使用的网络名称

# docker inspect -f '{{.NetworkSettings.Networks}}' centos-xd

(5)使用 inspect -f 命令查询容器使用的网关

# docker inspect -f '{{.NetworkSettings.Networks.xd_net.Gateway}}' centos-xd

4、在容器 server 节点,使用 supermin5 命令(若命令不存在,则自己安装)构建名为 centos-7 的 centos7 系统 docker 镜像,镜像预装 yum、net-tools、initscripts 和 vi 命令。构建完成后提 交镜像至容器仓库,并查看此镜像。

# yum install -y supermin5
# supermin5 -v --prepare bash yum net-tools initscripts vi coreutils -o supermin.d
# supermin -v --build --format chroot supermin.d -o appliance.d
# echo 7 > appliance.d/etc/yum/vars/releasever
# tar --numeric-owner -cpf centos-7.tar -C appliance.d .
# cat centos-7.tar | docker import - 192.168.200.7:5000/centos-7
# docker images centos-7

5、Dockerfile 编写

以上题构建的 centos-7 镜像为基础,构建数据库镜像 
centos-mariadb:v1.0,其要求为:
(1) 删除镜像的本地 yum 源,使用容器 server 节点的 yum 源文件;

(2) 安装mariadb 服务,使用 mysql 用户初始化数据库;

(3) 设置 MYSQL_USER=xiandian、MYSQL_PASS=xiandian 环境变量;

(4) 数据库支持中文;

(5)暴露 3306 端口;

(6)启动容器时能自动运行mysld_safe 命令。

使用 cat 命令查看 Dockerfile 文件并构建镜像。
# cat Dockerfile
FROM 192.168.200.7:5000/centos-7:latest
MAINTAINER Xiandian
RUN rm -fv /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
RUN yum install -y mariadb-server
RUN mysql_install_db --user=mysql
ENV LC_ALL en_US.UTF-8
ENV MYSQL_USER=xiandian
ENV MYSQL_PASS=xiandian
EXPOSE 3306
CMD mysld_safe

# docker build -t 192.168.200.7:5000/centos-mariadb:v1.0 .
# docker images centos-mariadb:v1.0
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值