Docker 使用中遇到到問題

userland proxy: mkdir /port/tcp:0.0.0.0:3306:tcp:172.19.0.2:3306: input/output error

啓動MySQL服務的時候,提示啓動失敗。github上有這個問題的問題單:https://github.com/docker/for-win/issues/573html

沒給出具體緣由,但解決方法是好使的。mysql

解決方法:git

1. Stop all the running containers docker stop $(docker ps -a -q) then
1. Stop the Docker on your machine & restart it.

配置固定IP

Docker 每次重啓後,容器的IP地址會變化,查詢了資料,Docker是支持設置固定IP的。github

bridge:橋接網絡 默認狀況下啓動的Docker容器,都是使用 bridge,Docker安裝時建立的橋接網絡,每次Docker容器重啓時,會按照順序獲取對應的IP地址,這個就致使重啓下,Docker的IP地址就變了 none:無指定網絡 使用 --network=none ,docker 容器就不會分配局域網的IP host: 主機網絡 使用 --network=host,此時,Docker 容器的網絡會附屬在主機上,二者是互通的。 例如,在容器中運行一個Web服務,監聽8080端口,則主機的8080端口就會自動映射到容器中。sql

建立自定義網絡docker

docker network create --subnet=172.18.0.0/16 mynetwork

Docker 使用官方mysql,中文亂碼問題

Docker MySQL官方鏡像亂碼字符集問題:latin1與utf8的糾纏網絡

#方法1:修改cnf
[client]
default-character-set = utf8mb4
 
[mysql]
default-character-set = utf8mb4
 
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
 
 
#方法2:docker添加啓動命令
--character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect='SET NAMES UTF8;'

#方法3:修改表
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;

我這是自定義了一些配置,因此使用了方法一,方法一也解決了個人問題!tcp

相關文章
相關標籤/搜索