使用容器可以更快地構(gòu)建和部署新的應(yīng)用程序演顾。Docker容器將軟件及其依賴項打包成一個標(biāo)準的軟件開發(fā)單元重抖,該單元包含了它需要運行的所有東西:代碼楚午、運行時、系統(tǒng)工具和庫店归。這保證了你的應(yīng)用程序?qū)⑹冀K運行相同的操作阎抒,并使協(xié)作變得像共享容器映像一樣簡單。下面我們來介紹一下如何在CentOS中安裝和使用Docker消痛。
一且叁、安裝 CentOS
如何安裝 CentOS 可以參考使用 Virtual BOX 和 vagrant 創(chuàng)建虛擬機這篇文章。
二秩伞、在 CentOS 中安裝Docker
1逞带、首先卸載舊的安裝版本(新機器可以跳過這一步)
Docker的舊版本被稱為Docker
或Docker -engine
欺矫。如果安裝了它們,請卸載它們以及相關(guān)的依賴項展氓。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2穆趴、安裝所需要的包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
安裝完成后:
3、設(shè)置倉庫
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
4遇汞、安裝docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
安裝完成后:
5未妹、啟動 docker
sudo systemctl start docker
6、查看docker版本
docker -v
7空入、查看docker中的鏡像
docker images #提示需要權(quán)限络它,可以使用 sudo docker images
8、設(shè)置 docker 開機自啟動
因為docker不是開機自啟的歪赢,如果我們經(jīng)常使用的話化戳,每一次開機都都需要手動啟動,這個時候可以設(shè)置docker為開機自啟埋凯。
sudo systemctl enable docker
三点楼、設(shè)置阿里云鏡像加速器
因為docker自己提供的鏡像大多在國外,服務(wù)訪問較慢白对,因此為了提高鏡像的訪問速度掠廓,我們可以來設(shè)置使用阿里云的鏡像加速服務(wù)。如果自己有阿里云躏结,可以查看自己的加速服務(wù)却盘,具體查看方式參考此文:查看阿里云加速服務(wù)
創(chuàng)建docker目錄:
sudo mkdir -p /etc/docker
配置鏡像加速器地址:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
重啟docker守護和服務(wù):
sudo systemctl daemon-reload && sudo systemctl restart docker
注意:本加速只針對CentOS系統(tǒng)
四狰域、docker安裝MySQL
1媳拴、安裝MySQL鏡像
在docker倉庫中找到我們需要安裝的軟件,執(zhí)行
sudo docker pull xxx:a.b
即可下載安裝我們需要的軟件兆览。例如我們安裝mysql的5.7版本屈溉,則使用如下命令:
sudo docker pull mysql:5.7
如果直接使用
sudo docker pull mysql
命令,則表示下載安裝的是最新版本的軟件抬探。
2子巾、創(chuàng)建實例并啟動
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
參數(shù)說明:
-p 3306:3306:將容器(docker容器中)的3306端口映射到主機(docker所在的linux虛擬機)的3306端口
-v/mydata/mysql/conf/etc/mysql:將配置文件夾掛載到主機
-v/mydata/mysql/log:/var/log/mysql:將日志文件夾掛載到主機
-v/mydata/mysql/data:/var/ib/mysql/:將配置文件夾掛載到主機
-e MYSQL_ROOT_PASSWORD=root:初始化root用戶的密碼
使用 docker ps
來查看當(dāng)前正在運行容器,可以看到mysql已經(jīng)在運行了
使用數(shù)據(jù)庫管理工具來測試連接一下小压,可以看到是可以正常訪問的
3线梗、配置MySQL
vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set-utf8
[mysqld]
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
重啟容器使配置生效:
docker restart mysql
進入mysql容器內(nèi),可以看到之前配置的信息
docker exec -it mysql /bin/bash
五怠益、docker安裝Redis
1仪搔、下載Redis鏡像
使用docker pull redis
命令來安裝最新的Redis
docker pull redis
3、創(chuàng)建實例并啟動
在linux虛擬機中創(chuàng)建Redis配置目錄蜻牢,并創(chuàng)建Redis配置文件:
# mkdir -p:遞歸創(chuàng)建目錄烤咧,即使上級目錄不存在偏陪,會按目錄層級自動創(chuàng)建目錄
mkdir -p /mydata/redis/conf
# 創(chuàng)建配置文件
touch /mydata/redis/conf/redis.conf
配置Redis鏡像:
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
至此,redis就安裝完成了煮嫌。
要使用redis笛谦,可以在命令行中直接使用docker exec -it redis redis-cli
命令就可以進行redis的命令行控制界面。
雖然redis安裝好了昌阿,但是有一個問題饥脑,就是redis并沒有啟用持久化操作,因此我們存放在redis中的數(shù)據(jù)懦冰,只要redis被重啟就會消失好啰,因此我們還需要開啟redis的AOF
持久化功能。
進入redis的conf文件
添加
appendonly yes
,保存并退出儿奶。修改完之后需要使用
docker restart redis
命令來重啟redis鏡像使之生效框往。為了更方便的使用redis,我們一般使用redis的可視化工具
Redis Desktop Manager
來連接redis闯捎。
百度云網(wǎng)盤:https://pan.baidu.com/s/1eT1wjE3UwHYrRDVe5fio6A
提取碼:4v94
安裝完成后輸入我們的redis服務(wù)所在地址就可以連接使用了:
更多redie配置和資料請訪問官方文檔
六椰弊、設(shè)置Redis和MySQL鏡像自動啟動
使用管理員權(quán)限在linux命令行中進行如下設(shè)置,就可以在每次虛擬器啟動時讓mysql和redis隨docker啟動而啟動瓤鼻。
docker update redis --restart=always
docker update mysql --restart=always
參考資料:
https://docs.docker.com/install/linux/docker-ce/centos/
https://redis.io/documentation
https://dev.mysql.com/doc/