全部簡潔說明,按照我的錯誤解決,僅供有需要的人參考。
錯誤1:fatal error, can't open config file '/usr/local/etc/redis/redis.conf'
解決:我的是因為redis.conf
沒有讀寫許可權。先對本地redis.conf
做許可權改變然後再重構映象。
# 修改許可權
chmod 644 redis.conf
# 寫入dockerfile指令
cat> dockerfile
from redis
copy redis.conf /usr/local/etc/redis/redis.conf
cmd [
"redis-server", "/usr/local/etc/redis/redis.conf"
]# 構建docker映象
docker build -t test-redis .
# 生成並啟動docker容器
docker run -itd --name redis-cont-name -p 6379:6379 test-redis:latest
然後這樣容器就可以執行成功了,可以通過docker ps
去看到redis-cont-name
這個容器在執行當中。
錯誤2:error: connection reset by peer
在上面建立了容器後,通過redis-cli
去連線容器時卻發生了這個錯誤。
解決:我的是因為沒有關閉保護模式以及繫結的ip不應該指定127.0.0.1,對於跨容器或者本地連線,應使用0.0.0.0,以下給出我的錯誤解決方式修改redis.conf
兩處:
bind 0.0.0.0 # <- 這裡原先是127.0.0.1
protected-mode no # <- 這裡原先是yes
其它**
錯誤1:error 2002 (hy000): can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock' (2)
解決:通過錯誤可以看出是無法進行sock通訊,我經常進入mysql是通過mysql -u root -p這種方式。在stackoverflow查詢後,對我有效的解決方式是,加上-h 127.0.0.1
這個引數,完整的如下:
# 啟動容器
docker run -it -p 3306:3306 --rm -e mysql_root_password=****** -d mysql:5.7
# 訪問資料庫
mysql -h 127.0.0.1 -u root -p
參考鏈結
錯誤:docker: error response from daemon: oci runtime create failed: container_linux.go:346: starting container process caused "exec: \"-p\": executable file not found in $path": unknown.
解決:這個錯誤的出現,對我來說是因為我把-p 80:80
這個引數寫在了容器名稱的後面,所以寫在容器前面就好了。。。
docker run -itd --name nginx-test nginx:latest -p 80:80 # 錯誤寫法
docker run -itd -p 80:80 --name nginx-test nginx:latest # 正確寫法
docker容器的構建
構建容器的方法 1 命令docker commit 執行容器的三個步驟 執行 修改 儲存映象 例子 拉取映象 docker pull centos 建立容器 docker run itd e934aafc2206 bin bash 進入容器修改容器 docker exec it e6e5f719f7...
Docker構建web容器
一 docker構建方式 1 非微服務專案部署方式 docker run name web應用名 p 8280 8080 v web應用名 web應用名 v usr local logs tomcat web應用名 usr local soft tomcat logs d centos7 tomca...
Docker 容器時區錯誤問題
容器缺省會使用 utc 時區 universal time coordinated 通用協調時,即格林尼治時間 如 docker exec 2ec7378b902a date thu sep 12 06 13 43 utc 2019 date 2019年 09月 12日 星期四 14 13 46 c...