多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Windows部署Docker环境命令 docker命令: 1:停止docker命令:Net stop com.docker.service 2:启动docker命令:Net start com.docker.service 3:docker ps 该命令只能看到正在运行的容器。 4:docker ps -a 查看所有容器 5:删除容器命令:【先停止容器:docker stop 容器名】 6:删除全部容器命令:docker rm `docker ps -a -q` 7:删除指定容器命令:docker rm 容器名 8:进入容器命令: 1:进入mysql命令: docker exec -it mysql(容器名或ID) /bin/bash 2:进入nginx命令: docker exec -it nginx(容器名或ID) /bin/bash【windows 使用git bash框输入时:winpty docker exec -it 容器名(容器ID) bash】 3:进入php命令: docker exec -it php(容器名或ID) /bin/bash 4:进入redis命令: docker exec -it redis(容器名或ID) /bin/bash 9:停止且删除指定容器命令:docker stop (容器名或ID) && docker rm (容器名或ID) (可直接删除: docker rm -f (容器名或ID)) 10:进入nginx容器后,找到nginx配置文件:whereis nginx 11:记住三个路径: 1:进入容器后,查询nginx配置成功的欢迎html页面路径:cd /usr/share/nginx/html 下面有index.html(nginx欢迎界面),注意:此/usr/share/nginx下的除html目录外,一旦容器删除,就会全部删除其他目录 2:查询nginx主或子配置文件:vim /etc/nginx/nginx.conf(主配置文件) 或 cd /etc/nginx/conf.d(子配置文件) 12:注意事项: 1:每次创建nginx容器后,检查STATUS(Up)是否开启:docker ps -a ,没有问题,启动容器:docker restart 容器ID 2:如果打开网站(域名),无法正常访问:使用命令:docker logs 容器ID(注意查询指定日志前多少条:docker logs 容器ID --tail=10),查询具体问题,解决 3:启动容器前,进入nginx内部容器中,使用nginx -t 命令检查是否出现报错问题,如果正常:可以启动容器(退出容器后执行),如果错误,先处理nginx报错问题,然后再启动容器 13:查询容器日志: docker logs (容器Name或CONTAINER ID) 1 windows 创建容器: 创建php容器:7.4 docker pull php:7.4-fpm docker run --name myPhpDocker -p 2000:9000 -d -v /D/Docker/wwwroot:/wwwroot php:7.4-fpm【使用中】 创建nginx容器: docker pull nginx:latest docker run --name myNginxDocker -p 3000:80 -d -v /D/Docker/wwwroot:/wwwroot -v /D/Docker/lnmp/nginx/conf:/etc/nginx/conf.d -v /D/Docker/lnmp/nginx/logs:/var/log/nginx --link myPhpDocker:php nginx【使用中】 创建mysql容器:5.7.16-ucloudrel1-log docker pull mysql:5.7.16 docker run --name myMysqlDocker -p 4000:3306 -d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.16【使用中】 创建redis容器:7.0 docker pull redis:7.0 docker run --name myRedisDocker -p 5000:6379 -d -v /D/Docker/lnmp/redis/redis.conf:/etc/redis/redis.conf --restart=always redis:7.0 redis-server --appendonly yes --requirepass "redis_123456" 创建mongoDb容器: docker pull mongo:4.4.6 docker run --name myMongoDocker -p 6000:27017 -d -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo:4.4.6 进入容器命令: docker exec -it myMongoDocker mongo admin 2: 2.1:Dockfile:构建新的docker镜像命令文件 dockerfile 构建过程解析 dockerfile内容基础知识 每条保留字指令都必须为大写字母且后面要跟随至少一个参数 指令按照从上到下,顺序执行 #表示注释 每条指令都会创建一个新的镜像层并对镜像进行提交 Docker执行dockerfile的大致流程 docker从基础镜像运行一个容器 【从基础镜像运行一个容器】 执行一条指令并对容器作出修改 【执行命令:修改容器】 执行类似docker commit的操作提交一个新的镜像层 【提交新镜像】 docker再基于刚提交的镜像运行一个新容器 【运行新镜像】 执行dockerfile中的下一条指令直到所有指令都执行完成 【循环执行下一个file命令】 2.2:Docker-composer:执行dockerfile中的命令文件 流程: 1:使用 Dockerfile 定义应用程序的环境。 2:使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。 3:最后,执行 docker-compose up 命令来启动并运行整个应用程序。 3:查询镜像版本命令:docker search 应用(redis) 4:解决docker容器中文字符乱码问题:【https://blog.csdn.net/qq_37946573/article/details/125481814】 在命令行中,输入中文出现乱码或者键入错误的情况: 这里我想输入:”中文“,但是出现乱码。 并且,我在之前已经创建好镜像,通过镜像生成了容器。 1.使用locale查看当前容器的系统使用的字符集。 2.使用locale -a查看当前容器的系统支持可以使用的字符集。 3.在一些博客中,都建议修改/etc/profile,添加系统变量LANG等。 5:安装vim命令:apt-get update && apt-get install vim -y 解决方法 1、同步源的索引,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。 命令:apt-get update 2、同步源的索引 命令:apt-get install vim -y 6:Docker容器安装参考链接:https://blog.csdn.net/weixin_41412505/article/details/124842879 7:容器组成:镜像名称:镜像标签 8:解析:由于 docker 的运行模式是 C/S。我们本机是 C,docker 引擎是 S 9:虚拟主机文件最终配置(子配置文件): server { listen 80; root /docker/www; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /docker/www; } location ~ \.php$ { root /docker/www; #fastcgi_pass 172.17.0.3:9000; fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } Docker安装php扩展: 【待检测】 1:进入php容器(切到/usr/src目录),执行ls -l 2:创建并初始化 /usr/src/php目录 docker-php-source extract 3:ls -l 4:docker-php-source delete 5:ls -l 6:(切到/usr/local/etc/php目录)ls /usr/local/lib/php/extensions/no-debug-non-zts-20190902 7:# 查看redis 扩展是否可以启动:php -m | grep redis 8:安装redis 扩展:pecl install redis 8:启动 redis 扩展:docker-php-ext-enable redis 9:查看redis 扩展是否可以启动:php -m | grep redis PHP命令: 【待检测】 检查扩展:进入容器后执行命令:php -m 说明,php容器中默认是没有php.ini配置文件的,加载原理如下所示: root@517b9c67507a:/usr/local/etc/php# php -i | grep -A 5 php.ini Configuration File (php.ini) Path => /usr/local/etc/php Loaded Configuration File => (none) # 核心是 /usr/local/etc/php/conf.d 目录下的扩展配置文件 Scan this dir for additional .ini files => /usr/local/etc/php/conf.d Additional .ini files parsed => /usr/local/etc/php/conf.d/docker-php-ext-redis.ini, /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini 卸载扩展,直接删除/usr/local/etc/php/conf.d 对应的配置文件即可 # 卸载redis 扩展 root@803cbcf702a4:/usr/local# rm -rf /usr/local/etc/php/conf.d/docker-php-ext-redis.ini root@803cbcf702a4:/usr/local# php -m 注释: 1.4:使用下面的语句启动了另外一个nginx服务:docker run --name test -p:80:80 -d nginx ,如果显示Nginx标识,代表Nginx配置OK