Docker 构建 Centos 7 镜像
2023-09-14 09:06:42 时间
1、拉取基础镜象
docker pull centos:7
2、查看镜象
[root@kvm108 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos 7 5e35e350aded 5 months ago 203 MB
3、创建容器
docker run --privileged -it -p 8080:80 -d 5e35e350aded /usr/sbin/init
# --privileged container内的root拥有真正的root权限
# -d 5e35e350aded 镜像 ID
# /usr/sbin/init 启动容器之后可以使用systemctl方法
# -p 8080:80 端口映射,后面要装nginx
4、查看容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
80e052bb4c83 5e35e350aded "/usr/sbin/init" 7 seconds ago Up 6 seconds 0.0.0.0:8080->80/tcp pensive_albattani
5、进入容器
docker exec -it 80e052bb4c83 /bin/bash
6、安装 Nginx
# 配置 nginx yum 源
vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
# 安装
yum install nginx -y
# 启动
systemctl start nginx
# 成功访问
curl http://localhost
7、安装 PHP
# 安装 相关
yum install epel-release -y
rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# 安装 PHP
yum install php71w php71w-fpm \
php71w-cli php71w-common php71w-devel php71w-gd \
php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath \
php71w-pecl-redis
# 启动
systemctl start php-fpm
# 修改配置文件
vi /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
root /opt/www;
index index.php index.html index.htm;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
# 测试页
echo "<?php phpinfo(); ?>" > /opt/www/info.php
# 成功访问
curl http://localhost/info.php
8、安装 MySQL
wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql-community-release-el6-5.noarch.rpm
# 安装
yum install mysql-community-server.x86_64
# 启动
systemctl start mysqld
# vi /opt/www/conn.php
<?php
$servername = "127.0.0.1";
$username = "root";
$password = "Abc@123456";
$conn = mysqli_connect($servername, $username, $password);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "success"
?>
9、通过容器构建镜象
# 查看镜象
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
80e052bb4c83 5e35e350aded "/usr/sbin/init" 2 hours ago Up 2 hours 0.0.0.0:8080->80/tcp pensive_albattani
# 构建镜象
docker commit 80e052bb4c83 lnmp
# 80e052bb4c83 容器名
# lnmp 镜象名
10、查看镜象
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
lnmp latest 0448509551fc 53 seconds ago 1.56 GB
docker.io/centos 7 5e35e350aded 5 months ago 203 MB
11、打包镜象
docker save -o lnmp.tar lnmp
# 查看
[root@kvm113 ~]# ll
-rw------- 1 root root 376077312 4月 27 17:14 lnmp.tar
12、别人如何使用这个镜象
[root@vm73 ~]# scp root@192.168.1.113:/root/lnmp.tar /home/
# 查看
[root@vm73 ~]# ll /home/
-rw------- 1 root root 376077312 4月 27 17:19 lnmp.tar
# 加载
[root@vm73 ~]# docker load -i /home/lnmp.tar
# 查看镜象
[root@vm73 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
lnmp latest 947680f32a52 39 minutes ago 365MB
# 运行容器
docker run --name lnmp -it -d lnmp /bin/bash
# 进入容器
[root@vm73 ~]# docker exec -it lnmp /bin/bash
相关文章
- centos安装mysql客户端安装_CENTOS安装MYSQL
- centos7.4安装docker_centos安装python3.6
- docker安装bwapp「建议收藏」
- spring cloud eureka docker多网卡ip注册异常
- 使用 Docker 搭建 Confluence
- Docker服务的重启服务命令(systemctl restart docker)
- Docker服务的删除本地镜像命令(docker rmi 镜像id)
- Docker Compose安装与配置文件详解
- docker使用笔记VI -- PHP
- 「 【Docker】linux安装docker compose(小白安装) 」
- Docker中安装宝塔
- Windows系统安装Docker遇到error during connect: In the default daemon configuration on Windows, the docker
- Docker环境下升级PostgreSQL的步骤方法详解
- Centos与Linux:一段友谊(centos和linux的关系)
- 卸载CentOS上的MySQL服务(centos卸载mysql)
- 使用Docker安装Redis,一步到位!(docker安装redis)
- 使用Docker部署Redis集群(dockerredis)
- 使用公共 Registry – 每天5分钟玩转 Docker 容器技术(19)
- 开源英雄:Solomon Hykes 和 Docker 的革命性崛起
- 使用 Docker 轻松安装 MySQL 数据库(docker安装mysql)
- 探索Docker安装Oracle数据库的秘密(docker安装oracle)