google云服務(wù)器搭建docker及mysql鏡像并提供給外部,云主機(jī)和dockergoogle云服務(wù)器搭建docker及mysql鏡像并提供給外部Docker安裝Docker提供了兩個版本:社區(qū)版(CE)和企業(yè)版(EE)。操作系統(tǒng)要求以Centos7為例,且Docker要求操作系統(tǒng)必須為64位,且centos內(nèi)核版......
Docker安裝
Docker提供了兩個版本:社區(qū)版(CE)和企業(yè)版(EE)。
操作系統(tǒng)要求
以Centos7為例,且Docker要求操作系統(tǒng)必須為64位,且centos內(nèi)核版本為3.1及以上。
查看系統(tǒng)內(nèi)核版本信息:unamer
一、準(zhǔn)備
卸載舊版本:
卸載后將保留/var/lib/docker的內(nèi)容(鏡像、容器、存儲卷和網(wǎng)絡(luò)等)。
1.安裝依賴軟件包
2.設(shè)置yum源
3.更新yum軟件包索引
二、安裝
安裝最新版本dockerce(社區(qū)版)
unamer
卸載舊版本:
yum remove docker dockercommon dockerselinux dockerengine
yum remove dockerce
卸載后將保留/var/lib/docker的內(nèi)容(鏡像、容器、存儲卷和網(wǎng)絡(luò)等)。
rmrf/var/lib/docker
1.安裝依賴軟件包
yum instally yumutils devicemapperpersistentdata lvm2
#安裝前可查看devicemapperpersistentdata和lvm2是否已經(jīng)安裝
rpmqagrep devicemapperpersistentdata
rpmqagrep lvm2
2.設(shè)置yum源
yumconfigmanageraddrepo https://download.docker.com/linux/centos/dockerce.repo
3.更新yum軟件包索引
yum makecache fast
安裝
安裝最新版本dockerce
yum install dockercey
#安裝指定版本dockerce可使用以下命令查看
yum list dockerce.x8664showduplicatessortr
#安裝完成之后可以使用命令查看
docker version
三、配置鏡像加速
這里使用阿里云的免費(fèi)鏡像加速服務(wù),也可以使用其他如時速云、網(wǎng)易云等
1.注冊登錄開通阿里云容器鏡像服務(wù)
2.查看控制臺,找到鏡像加速器并復(fù)制自己的地址
3.找到/etc/docker目錄下的daemon.json文件,沒有則直接vi daemon.json
4.加入以下配置
#填寫自己的加速器地址
{
registrymirrors:[https://zfzbet67.mirror.aliyuncs.com]
}
5.通知systemd重載此配置文件;
systemctl daemonreload
6.重啟docker服務(wù)
systemctl restart docker
Docker常用操作
輸入docker可以查看Docker的命令用法,輸入docker COMMANDhelp查看指定命令詳細(xì)用法。
鏡像常用操作
查找鏡像:
docker search關(guān)鍵詞
#搜索docker hub網(wǎng)站鏡像的詳細(xì)信息
下載鏡像:
docker pull鏡像名:TAG#Tag表示版本,有些鏡像的版本顯示latest,為最新版本
查看鏡像:
docker images#查看本地所有鏡像
刪除鏡像:
docker rmif鏡像ID或者鏡像名:TA#刪除指定本地鏡像#f表示強(qiáng)制刪除
獲取元信息:
docker inspect鏡像ID或者鏡像名:TA#獲取鏡像的元信息,詳細(xì)信息
實(shí)例:mysql
docker pull mysql:5.7
#創(chuàng)建三個要掛載的目錄
mkdirp/my/mysql/conf
mkdirp/my/mysql/data
mkdirp/my/mysql/logs
#復(fù)制文件并修改字符
docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf/my/mysql/conf/
vi/my/mysql/conf/mysqld.conf
charactersetserver=utf8
#最終啟動命令
docker run
name mysql
p 3306:3306
v/my/mysql/conf:/etc/mysql/mysql.conf.d/
v/my/mysql/data:/var/lib/mysql
v/my/mysql/logs:/logs
e MYSQLROOTPASSWORD=root
d mysql:5.7
注:
國外鏡像市場:
Docker Hub
Quay
國內(nèi)鏡像市場:
阿里云
網(wǎng)易云
時速云
DaoCloud
此次使用的mysql鏡像地址:
https://hub.daocloud.io/repos/fa51c1d69dc249d991ac4bbfc24a1bda
1.啟動并創(chuàng)建docker的mysql鏡像的實(shí)例
在啟動并創(chuàng)建docker的mysql鏡像的實(shí)例時,要指定好docker內(nèi)部端口號和宿主端口號的映射,創(chuàng)建鏡像命令會自動開放docker鏡像的3306端口并暴露出去,因此需要手動開放宿主機(jī)防火墻對外端口
docker runname dockermysqlp 3307:3306e MYSQLROOTPASSWORD=NARUTO1d daocloud.io/library/mysql:5.7.4
注:dockermysql為指定的該鏡像的名稱
NARUTO1是指定的root用戶密碼
daocloud.io/library/mysql:5.7.4其中daocloud.io/library/mysql為本地mysql鏡像路徑,5.7.4為本地mysql鏡像的tag
2.開放宿主機(jī)防火墻對外端口
操作步驟:
1、登陸到linux系統(tǒng)
2、輸入防火墻開放端口命令:firewallcmdzone=publicaddport=8080/tcppermanent
3、刷新防火墻:firewallcmdreload
*注意:addport=后面接需要開放的端口
linux如何查看某個端口是否開放
1.你可以使用lsof命令來查看某一端口是否開放。查看端口可以這樣來使用,我就以80端口為例:
lsofi:80
或者
lsofi:22
如果有顯示說明已經(jīng)開放了,如果沒有顯示說明沒有開放
2.netstataptn執(zhí)行看看,是否監(jiān)聽在0.0.0.0:3306
3.
netstatnupl(UDP類型的端口)
netstatntpl(TCP類型的端口)
例如netstatntplgrep 3306 netstatntplgrep 3307
4.telnet ip端口號方式測試遠(yuǎn)程主機(jī)端口是否打開
.docker psa查看在運(yùn)行的
docker execit dockermysql bash進(jìn)入容器內(nèi)部dockermysql是上邊運(yùn)行時為容器取的別名也可以用id替代
mysqlu rootp然后直接輸入密碼即可密碼是在運(yùn)行時設(shè)置的
grant all privileges on*.*toroot %;給用于授予權(quán)限(登錄mysql之后執(zhí)行)
flush privileges;刷新權(quán)限
登錄
特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯(lián)系在線顧問
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部