docker安裝mysql並配置遠程連接


1.centos7 安裝docker

https://docs.docker.com/install/linux/docker-ce/centos/

2.docker 配置阿里雲鏡像加速

a.注冊一個屬於自己的阿里雲賬戶(可復用淘寶賬號)

b.獲得加速器地址連接:

    登陸阿里雲開發者平台

    獲取加速器地址  https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors   

配置鏡像加速器

針對Docker客戶端版本大於 1.10.0 的用戶

您可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{ "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

3.配置docker服務開機自動啟動

docker 服務器開機自啟動:

1.systemctl is-enabled docker.service  檢查服務是否開機啟動

2.systemctl enable docker.service  將服務配置成開機啟動

3.systemctl start docker.service  啟動服務

 

systemctl  相關其他命令:

systemctl disable docker.service 禁止開機啟動

systemctl stop docker.service  停止
systemctl restart docker.service  重啟

------------------------------------------------------

容器開機啟動:

創建容器時候指定restart參數:

docker run    -it -p 6379:6379 --restart=always  --name redis -d redis

對已經創建的容器用docker update 更新:

docker update --restart=always  xxx

 

--restart具體參數值詳細信息 :

no - 容器退出時,不重啟容器
on-failure - 只有在非0狀態退出時才從新啟動容器
always - 無論退出狀態是如何,都重啟容器


docker運行hello-world

>docker run hello-world


 

使用docker安裝mysql

1.搜索mysql的docker鏡像

>docker search mysql

2.拉取mysql   docker pull mysql[:TAG]   TAG可選,不選默認選擇latest   https://hub.docker.com/_/mysql?tab=tags

>docker pull mysql

3.列出本機鏡像

>docker images

4.根據mysql鏡像創建容器並運行

>docker run --name centos7-mysql -e MYSQL_ROOT_PASSWORD=123456 -P -d mysql

返回容器id

5.查看運行中的容器

>docker ps

6.查看具體容器內部細節

>docker inspect centos7-mysql

返回一個json串

FeHelper-20191112173841.json

7.連接mysql容器,已交互命令式連接

>docker exec -it centos7-mysql /bin/bash

8.連接mysql數據庫

>mysql -hlocalhost -uroot -p

mysql>show databases;

9.遠程連接mysql數據庫

a.設置mysql遠程權限

mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

b.刷新權限

mysql>flush privileges;

c.navicat測試連接


在運行以上方式創建的mysql容器時,產生的數據文件是在容器內部,一旦容器刪除,那么數據也就丟失,因此,下面創建容器將使用數據卷。使用數據卷有兩種方式:DockerFile內添加或者命令添加。

DockerFile內添加:

1.創建DockerFile文件

# volume mysql
FROM centos
VOLUME ["/mysql/config","/mysql/data"]
CMD echo "finished,--------success1"
CMD /bin/bash

2.docker build 根據DockerFile創建鏡像

>docker build -f /home/manage/docker/volume/mysql/mysqlvolume -t mysql/volume .

3.查看已有docker 鏡像

>docker images

4.run 上面的鏡像創建容器

>docker run -it b2c2f12085d4  /bin/bash

5.在容器內創建文件

6.在主機上找出對應容器卷的文件路徑

a.>docker inspect b141535f7860

b.在主機上找到對應的文件

c.進入到容器查看相應目錄

命令添加:

>docker run --name centos7-mysql -v /home/manage/mysql/config:/etc/mysql/conf.d -v /home/manage/mysql/data:/var/lib/mysql  --privileged=true -e MYSQL_ROOT_PASSWORD=123456 -P -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

 


安裝docker-compose

GitHub源

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

 

Daocloud鏡像

curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

 


 

修改已經創建的docker容器的端口映射

 

對於已經創建的docker容器,如何修改映射的端口號呢?可以參考如下的操作步驟

 

0)  docker container list –all

 

結果中的CONTAINER ID列為容器id

 

1)  docker inspect <容器id>   |  grep Id

 

查看容器hash,<容器id>由步驟0)獲得

 

2)  docker stop <容器id>

 

停止運行中的容器

 

3) vim /var/lib/docker/containers/[容器hash]/hostconfig.json,(有人提到,如果config.v2.json里面也記錄了端口,也要修改)

 

編輯容器配置文件,<容器hash>由步驟1)獲得

 

修改PortBindings參數配置,宿主機8001端口映射容器80端口示例:

 

“PortBindings”:{“80/tcp”:[{“HostIp”:””,”HostPort”:”8001″}]},”

 

4) systemctl restart docker

 

重新啟動docker引擎

 

5)docker start <容器id>

 

重新啟動docker容器

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM