docker-基础命令和创建镜像

[[email protected] ~]# docker run hello-world 创建镜像- 基础示例
docker-基础命令和创建镜像
[[email protected] ~]# docker images —看我有什么镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0d120b6ccaa8 5 weeks ago 215MB
hello-world latest bf756fb1ae65 8 months ago 13.3kB

[[email protected] ~]# docker run -it --name my_centos centos bash --创建centos镜像
[[email protected] ~]# docker ps --查看正在运行的容器
[[email protected] ~]# docker start my_centos 启动容器
ctrl+p+q 安全退出

进入指定容器的2种方法
1.[[email protected] ~]# docker attach my_centos 不推荐
2.[[email protected] ~]# docker exec -it my_centos bash

[[email protected] ~]# docker exec -it my_centos ls /root/ —可以直接执行命

[[email protected] ~]# docker ps –a 查看所有容器
[[email protected] ~]# docker rm b126892480ef 删除容器

[[email protected] ~]# docker start my_nginx

制作镜像 nginx+php
[[email protected] ~]# docker run -it --name my_nginx centos bash
[[email protected] yum.repos.d]# yum install nginx –y 装个nginx
[[email protected] /]# yum install php-fpm –y
[[email protected] ~]# docker cp supervisor-3.3.1-2.el7.noarch.rpm 151aa7950506:/root/

[[email protected] ~]# yum install supervisor-4.2.0-1.el8.noarch.rpm -管理工具
[[email protected] /]# vi /etc/supervisord.conf
[[email protected] /]# cd /etc/supervisord.d/
[[email protected] supervisord.d]# vi php_nginx.ini
[supervisord]
nodaemon=true
[program:nginx]
command=/usr/sbin/nginx -g “daemon off;”
[program:phpfpm]
command=/usr/sbin/php-fpm -F -c /etc/php.ini
autostart = true
startsecs = 3
autorestart = true
startretires =3
user = root
redirect_stderr = false
stdout_logfile_maxbytes = 50M
stdout_logfile_backups = 20

这里有个坑,要创建 不然无法执行
mkdir /run/supervisor/
mkidr /run/ php-fpm
[[email protected] run]# supervisord
docker-基础命令和创建镜像
包一个镜像
[[email protected] ~]# docker commit -m “nginx 1.1 php5.4” my_nginx nginx:v1 docker-基础命令和创建镜像
用制作的好镜像,做一个试试
[[email protected] ~]# docker run -it -p 80:80 --name nginx_v1 0878718cc64e supervisord
docker-基础命令和创建镜像
网页可以成功打开
docker-基础命令和创建镜像

制作个php文件

[[email protected] nginx]# pwd
/usr/share/nginx/html
vi phpinfo.php

<?php phpinfo(); [[email protected] nginx]# vi /etc/nginx/nginx.conf location ~ \.php?.*$ { fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } [[email protected] nginx]# supervisorctl reload ![在这里插入图片描述](https://img-blog.****img.cn/202009241606582.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW8zNHlhbjE=,size_16,color_FFFFFF,t_70#pic_center) 制作msql镜像 2中密码方式,一种是没有密码,一种是指定密码 [[email protected] ~]# docker run -it --name mysql -p 8888:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql [[email protected] ~]# docker run -it --name mysql -p 8888:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql