标签搜索
docker
记录笔记的地方

docker

skwax
2021-06-20 / 0 评论 / 11 阅读 / 正在检测是否收录...

【kodbox】
mkdir /kodbox
docker run -d --name kodbox -p 81:80 -v /kodbox:/var/www/html --link mysql:mysql --restart=always kodcloud/kodbox

【mysql】
docker run -d --name mysql \

-v /root/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=chd1001cjw \
-p 3307:3306 \
--restart=always \
mysql:5

【ccaa】
docker run --name="ccaa" -d -p 88:6080 -p 6081:6081 -p 6800:6800 -p 51413:51413 \

-v /kodbox/data/files/Download:/data/ccaaDown \
-e PASS="chd1001cjw" \
helloz/ccaa \
sh -c "dccaa pass && dccaa start"

【流量转发】
wget --no-check-certificate -qO natcfg.sh http://www.arloor.com/sh/iptablesUtils/natcfg.sh && bash natcfg.sh

【blog】

1、使用docker搭建typecho
docker run -d --name=typecho --restart always -e PHP_TZ=Asia/Shanghai -e PHP_MAX_EXECUTION_TIME=600 -v /root/typecho:/data -p 83:80 80x86/typecho:latest

2、进入docker容器内
docker exec -it mytypecho sh

3、修改config,使支持https
vi /app/config.inc.php
最下面加上如下内容:
/* 开启HTTPS /
define('__TYPECHO_SECURE__',true);

4、退出容器
exit

【nginx】 /data/solution用于存放网站项目,也是为了数据与容器分离
mkdir -p /data/nginx/conf.d
docker run -p 80:80 -p 443:443 --mount type=bind,source=/data/nginx/conf.d,target=/etc/nginx/conf.d --mount type=bind,source=/data/solution,target=/data/solution --restart=always -d --name nginx nginx

【容器间通讯】
使用自定义bridge网络
除了默认的bridge网络,官方推荐用户自定义一个bridge网络用作生产环境,用户自定义的bridge网络不仅支持ip访问,还支持直接使用容器名称进行访问,官方推荐使用在生产环境,因此我们会使用这种方式进行容器间的通信。

创建一个自定义网络,名字可以随意,如typecho。
docker network create typecho
打印一下当前的network,可以看到typecho已经存在了。

$ docker network ls
NETWORK ID NAME DRIVER SCOPE
429eabf557a3 bridge bridge local
3f47e77c0ded host host local
3784484fb92e typecho bridge local
7ff63bc6d9bd none null local

2.容器使用自定义的网络

如果容器尚未创建,可以在docker run命令时通过--network参数来指定网络,如

docker run -d --name mynginx --network typecho nginx

如果容器已经在运行了,我们也可以通过docker network connect ${网络名} ${容器名}来指定,在上面我们已经运行了mariadb,php-fpm,nginx,所以现在依次为他们都绑定到typecho网络中。

docker network connect typecho mariadb
docker network connect typecho php-fpm
docker network connect typecho nginx
检查一下绑定到typecho网络的容器

$ docker network inspect typecho
[

{
    "Name": "typecho",
    "Id": "3784484fb92e36c1448d2303af1b8bdce680e2cba0452fca354cefb6cb81bb54",
    "Created": "2019-12-08T08:32:57.299750734-05:00",
    "Scope": "local",
    "Driver": "bridge",
    "EnableIPv6": false,
    "IPAM": {
        "Driver": "default",
        "Options": {},
        "Config": [
            {
                "Subnet": "172.18.0.0/16",
                "Gateway": "172.18.0.1"
            }
        ]
    },
    "Internal": false,
    "Attachable": false,
    "Ingress": false,
    "ConfigFrom": {
        "Network": ""
    },
    "ConfigOnly": false,
    "Containers": {
        "6c644a890f3d1e7cc9e846236b6467ac31084470289fba5f6af1c2c1a0171e8e": {
            "Name": "mariadb",
            "EndpointID": "881c4f00a8d15f4e941d50faf53846a3ab8f15772fccc5e8c568e8d97b346b3b",
            "MacAddress": "02:42:ac:12:00:02",
            "IPv4Address": "172.18.0.2/16",
            "IPv6Address": ""
        },
        "f98355c7b220c0ab2897aa2478037e3322d78ccd81518af7a4756b07e1e26719": {
            "Name": "nginx",
            "EndpointID": "f14e5c36fcfe7ac5f26b8495335366957b6d7ab6d59c13e55cae2f1dc7751929",
            "MacAddress": "02:42:ac:12:00:04",
            "IPv4Address": "172.18.0.4/16",
            "IPv6Address": ""
        },
        "f9cb6cfcebf6f82beca76d3061765c1deb482a9c3c30d0c6d3644fe10ae40e3e": {
            "Name": "php-fpm",
            "EndpointID": "c4a2e26fe887e04f01a36eea9771eb2e817ef29d1bd7c435b380a7ca18485e64",
            "MacAddress": "02:42:ac:12:00:03",
            "IPv4Address": "172.18.0.3/16",
            "IPv6Address": ""
        }
    },
    "Options": {},
    "Labels": {}
}

]
可以看到mariadb,php-fpm,nginx都已经连接到typecho网络了。这样,我们在nginx容器,就可以直接通过php-fpm的名字来调用php的服务了。

0

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /www/wwwroot/biji.moyuke.net/var/Widget/Archive.php on line 1032

评论

博主关闭了所有页面的评论