centos 7 docker 使用填坑

2021-08-02 07:01:54 字數 934 閱讀 5907

1. 在docker 容器內不能使用systemctl 命令啟動服務

現象:[root@ce34e8bc6b92 software]# systemctl stop mariadb

failed to get d-bus connection: operation not permitted

解決:[root@iz2zed0v3yp9bn8rczl7soz ~]# docker run -d -p 6607:6607 --privileged -v /data/mariadb/db/:/data/mariadb/db/ mariadb6607 /usr/sbin/init

2. docker容器內,在/etc/rc.d/rc.local 中 設定啟動命令,不能正常啟動

解決:因為linux啟動流程,是init指令碼先執行,最後再執行rc.local中的命令

docker啟動方式:docker run -d -v /data/fastdfs/:/data/fastdfs/ 402cde281a03 /usr/sbin/init

3. docker mariadb galera  中的 bind-address=宿主機ip

一般是不會出現這種情況的,我的是因為我在兩個宿主機上分別跑了乙個mariadb的docker。

資料庫埠一樣,而doker分配的ip又都是172.17.0.2。

為了避免衝突,我把ip都改為宿主機的ip了。

所以在遠端連線資料庫時,埠拒絕

解決: 容器ip!= 宿主機ip

4. 基於docker 搭建fastdfs時,發現客戶端不能連線tracker告知的storage ip.

因為storage ip 是容器分配內部ip,由於docker網路預設是bridge,客戶端一般是訪問不到的。

解決: 目的就是讓客戶端能訪問到storage註冊的ip,我用的解決方式就是使用docker的host網路模式。

CentOS7 Docker 各種配置

docker ps 顯示活動containers a 所有containers docker stop 6 cd4 停掉id以 6cd4 開頭的container docker rm 6 cd4 刪除id以 6cd4 開頭的container 啟動redis,p 6379 將container 63...

Centos7 Docker學習筆記

國內使用者使用指令碼一鍵安裝 sudo curl ssl sh國外使用者使用指令碼一鍵安裝 sudo curl ssl get.docker.com sh詳細步驟參照官網 檢視docker是否安裝成功 docker version啟動 systemctl start docker停止 systemc...

CentOS7 Docker 搭建 LNMP 環境

docker安裝 nginx php fpm docker pscontainer id 容器id names 自動分配的容器名稱 docker logs 2b1b7a428627 容器 id 容器名稱docker stop 容器 id 容器名稱docker start 容器 id 容器名稱dock...