封绝的世界

docker常用命令

docker pull

docker run -d -it --rm -h host_ubuntu -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/nginx-conf/conf.d:/etc/nginx/conf.d -v ~/nginx/nginx-log:/var/log/nginx -p 15672:15672 -p 5672:5672 --network test-net --dns=114.114.114.114 --dns-search=test.com --link 另一个容器 ubuntu 具体命令

启动容器

参数说明:
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
--rm:容器退出时自动清理容器内部的文件系统。
-h HOSTNAME 或者 --hostname=HOSTNAME: 设定容器的主机名,它会被写到容器内的 /etc/hostname 和 /etc/hosts。
--dns=IP_ADDRESS: 添加 DNS 服务器到容器的 /etc/resolv.conf 中,让容器用这个服务器来解析所有不在 /etc/hosts 中的主机名。
--dns-search=DOMAIN: 设定容器的搜索域,当设定搜索域为 .example.com 时,在搜索一个名为 host 的主机时,DNS 不仅搜索 host,还会搜索 host.example.com。
如果在容器启动时没有指定 --dns 和 --dns-search,Docker 会默认用宿主主机上的 /etc/resolv.conf 来配置容器的 DNS。
-d 后台运行 再次进入需要用docker exec因为此命令进入后退出容器终端,不会导致容器的停止。
-p 参数来设置端口映射
-P:将容器内部使用的网络端口随机映射到我们使用的主机上。
--network:并连接到新建的 test-net 网络。
-v :挂载,将主机项目中的目录挂载到容器的/usr/share/nginx/html,将nginx配置文件挂载到/etc/nginx/conf.d,将nginx日志文件挂载到/var/log/nginx
--link my-php:php:nginx链接php,把php的网络并入nginx

docker ps

docker ps –no-trunc //不省略可查看详细的command
查看我们正在运行的容器 docker top 来查看容器内部运行的进程

docker images

列出本地主机上的镜像。

docker exec 容器Id或名称 (docker attach 不推荐退出会终止容器)

进入容器

docker inspect 容器Id或名称

查看容器信息

docker logs -f 容器Id或名称

在宿主主机内使用 docker logs 命令,查看容器内的标准输出
-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。

docker rm -f 容器Id或名称

docker rmi

docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2

各个参数说明:
-m: 提交的描述信息
-a: 指定镜像作者
e218edb10161:容器 ID
runoob/ubuntu:v2: 指定要创建的目标镜像名

docker tag 860c279d2fec runoob/centos:dev

为镜像添加一个新的标签。

docker network create -d bridge test-net

创建一个新的 Docker 网络。
-d:参数指定 Docker 网络类型,有 bridge、overlay。
docker network list //列出所有网络
docker network connect 网络名称 容器名称 //添加容器到网络
也可以通过docker-compose也可以实现

docker push (username)/ubuntu:18.04

用户登录后,可以通过 docker push 命令将自己的镜像推送到 Docker Hub。

docker简单安装rabbitmq

#下载镜像
docker pull rabbitmq
# 启动镜像
docker run --name rabbitmq  -p 15672:15672 -p 5672:5672 -d rabbitmq:latest
# 进去镜像实例中安装管理界面
docker exec -it rabbitmq bash
# 镜像实例中输入命令安装管理台
rabbitmq-plugins enable rabbitmq_management

使用Docker快速搭建PHP开发环境

https://www.cnblogs.com/cocowool/p/docker-php-dev.html

一个基于docker的LNMP环境,并利用electron + vue 提供gui管理(目前只处理了window环境和mac环境,后续支持linux)

https://gitee.com/ao-lol/docker_lnmp

nginx配置文件参考

server {
    listen       80;
    listen  [::]:80;
    server_name  *****
    rewrite ^/(.*) https://*****/$1 permanent;
   
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
server {
    listen 443;
    server_name *****;
    # nginx的共享路径
    root /data/ds/ds/public;  
    access_log /var/log/nginx/ds_access.log;
    error_log /var/log/nginx/ds_error.log;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        # 需保证2个容器网络相通可通过docker-compose.yaml设置同一个network来保证网络,项目文件挂载,用php容器内部文件路径
	fastcgi_pass  php-ds:9000;
  	fastcgi_index  index.php;
        # php的共享路径
        fastcgi_param  SCRIPT_FILENAME  /app/wwwroot/ds/public$fastcgi_script_name;
        include        fastcgi_params;
        # 如果域名中启用了SSL这里一定要设置为HTTPS on
        fastcgi_param   HTTPS on; 
    }


    location ~ /\.(?!well-known).* {
        deny all;
    }
}

调运laravel的php脚本

docker exec  -i php-ds sh -c "php /app/wwwroot/ds/artisan remind_visit_overture"
* * * * * docker exec  -i php-ds sh -c "php /app/wwwroot/ds/artisan schedule:run >> /dev/null 2>&1"

https://learnku.com/articles/55593

posted @ 2022-03-31 09:07  天边的云云  阅读(89)  评论(0编辑  收藏  举报