目錄
Docker及系統(tǒng)版本
Docker的自動化安裝
Docker的手動安裝(CentOS7)
1.1 卸載歷史版本的Docker
1.2 安裝依賴包
1.3 更新本地鏡像源(也可以叫做:設(shè)置源倉庫)
1.4 Docker安裝
1.5 配置鏡像加速
Docker啟動?
刪除Docker
Docker其他常見命令
Docker設(shè)置開機(jī)自啟動
1、查看所有已啟動的服務(wù)
2、查看已設(shè)置的開機(jī)啟動服務(wù)
3、設(shè)置開機(jī)啟動
4、關(guān)閉開機(jī)啟動
Docker容器設(shè)置自動啟動?
Docker如何搭建和部署PHP
如何制作Docker鏡像,用于CI/CD發(fā)布當(dāng)中。?
Docker及系統(tǒng)版本
Docker從17.03版本之后分為CE(Community Edition: 社區(qū)版)和EE(Enterprise Edition: 企業(yè)版)。相對于社區(qū)版本,企業(yè)版本強(qiáng)調(diào)安全性,但需付費使用。這里我們使用社區(qū)版本即可。
Docker支持64位版本的CentOS 7和CentOS 8及更高版本,它要求Linux內(nèi)核版本不低于3.10。
查看Linux版本的命令這里推薦兩種:
lsb_release -a
或cat /etc/redhat-release
。
?如果系統(tǒng)不支持:lsb_release -a 命令,則使用:cat /etc/redhat-release 即可
再查一下內(nèi)核版本是否不低于3.10?
查看內(nèi)核版本有三種方式:
cat /proc/version
uname -a
uname -r
三種形式都可以查看到內(nèi)容版本,比如:?
?可以看到,當(dāng)前Linux內(nèi)核版本滿足Docker的需要。
Docker的自動化安裝
Docker官方和國內(nèi)daocloud都提供了一鍵安裝的腳本,使得Docker的安裝更加便捷。
官方的一鍵安裝方式:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
國內(nèi) daocloud一鍵安裝命令:?
curl -sSL https://get.daocloud.io/docker | sh
自動化安裝的兩個命令我沒有親測,有興趣的可以自己親測一下,我是手動安裝的Docker
Docker的手動安裝(CentOS7)
- Docker 分為 CE 和 EE 兩大版本。CE 即社區(qū)版(免費,支持周期 7 個月)
- EE 即企業(yè)版,強(qiáng)調(diào)安全,付費使用,支持周期 24 個月。
- Docker CE 分為 stable test 和 nightly 三個更新頻道。 官方網(wǎng)站上有各種環(huán)境下的安裝指南,這里主要介紹 Docker CE 在 CentOS上的安裝。
-
1.1 卸載歷史版本的Docker
這一步是可選的,如果之前安裝過舊版本的Docker,可以使用如下命令進(jìn)行卸載,如果沒有安裝過Docker可以跳過此步驟
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
-
1.2 安裝依賴包
yum-utils提供了yum-config-manager,并且device mapper存儲驅(qū)動程序需要device-mapper-persistent-data和lvm2。?
yum install -y yum-utils \device-mapper-persistent-data \lvm2 --skip-broken
-
1.3 更新本地鏡像源(也可以叫做:設(shè)置源倉庫)
因為docker默認(rèn)官方的鏡像源地址是國外的,速度很慢,這里將數(shù)據(jù)源設(shè)置為阿里云的鏡像。當(dāng)然國內(nèi)還有其他的鏡像源
阿里云:http:**//mirrors.aliyun.com/docker-ce/linux/centos/**docker-ce.repo
清華大學(xué)源:https:**//mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/**docker-ce.repo
yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
1.4 Docker安裝
yum install -y docker-ce
問題出現(xiàn)了,我在執(zhí)行完 yum install -y docker-ce 命令后,報錯:No package docker-ce available.
提示: No package docker-ce available. 是因為我沒有卸載舊版的Docker
- 1.4.1 解決方法:
?卸載舊版本的 docker 及其相關(guān)依賴
yum remove docker docker-common container-selinux docker-selinux docker-engine
- 1.4.2 更新yum(這個過程稍微有點兒慢)
yum update
- 1.4.3 安裝 yum-utils,它提供了 yum-config-manager,可用來管理yum源
yum install -y yum-utils
- 1.4.4 添加yum源,等同 【1.3 更新本地鏡像源】中提到的命令
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 1.4.5 更新索引
centos7的命令:
yum makecache fast
centos8的命令:
yum makecache
- 1.4.6 再次執(zhí)行安裝Docker命令
yum install -y docker-ce
-
1.5 配置鏡像加速
docker官方鏡像倉庫網(wǎng)速較差,我們需要設(shè)置國內(nèi)鏡像服務(wù):
參考阿里云的鏡像加速文檔:阿里云登錄 - 歡迎登錄阿里云,安全穩(wěn)定的云計算服務(wù)平臺歡迎登錄阿里云,全球領(lǐng)先的云計算及人工智能科技公司,阿里云為200多個國家和地區(qū)的企業(yè)、開發(fā)者和政府機(jī)構(gòu)提供云計算基礎(chǔ)服務(wù)及解決方案。阿里云云計算、安全、大數(shù)據(jù)、人工智能、企業(yè)應(yīng)用、物聯(lián)網(wǎng)等云計算服務(wù)。https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors?
- 1.5.1 創(chuàng)建文件夾(如果文件夾已存在,可不用創(chuàng)建)
mkdir -p /etc/docker
- ?1.5.6 在文件夾內(nèi)創(chuàng)建一個 deamon.json文件
#在新建的 daemon.json文件中添加內(nèi)容
[root@wpl docker]# sudo tee /etc/docker/daemon.json <<-'EOF'
> {
> "registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
> }
> EOF
{
"registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
}
#重新加載文件
[root@wpl docker]# sudo systemctl daemon-reload
#重啟docker
[root@wpl docker]# sudo systemctl restart docker
#查看docker運行狀態(tài)
[root@wpl docker]# systemctl status docker
執(zhí)行的結(jié)果如下圖所示
至此Docker安裝基本完成
Docker啟動?
- 啟動Docker的命令:?
systemctl start docker
- ?通過運行hello-world鏡像來驗證是否正確安裝了Docker Engine-Community。
// 拉取鏡像
docker pull hello-world
// 執(zhí)行hello-world
docker run hello-world
- ?如果執(zhí)行之后,控制臺顯示如下信息,則說明Docker安裝和啟動成功:
- 除了啟動Docker,還有一些其他啟動相關(guān)的命令:?
守護(hù)進(jìn)程重啟:
systemctl daemon-reload
重啟Docker服務(wù):
systemctl restart docker / service docker restart
關(guān)閉Docker服務(wù):
docker service docker stop / docker systemctl stop docker
刪除Docker
- 刪除安裝包:?
yum remove docker-ce
- ?刪除鏡像、容器、配置文件等內(nèi)容:
rm -rf /var/lib/docker
Docker其他常見命令
安裝完成Docker之后,這里匯總列一下常見的Docker操作命令:
搜索倉庫鏡像:docker search 鏡像名
拉取鏡像:docker pull 鏡像名
查看正在運行的容器:docker ps
查看所有容器:docker ps -a
刪除容器:docker rm container_id
查看鏡像:docker images
刪除鏡像:docker rmi -f 鏡像名/鏡像ID
加載鏡像:docker load -i 鏡像保存文件位置
啟動(停止的)容器:docker start 容器ID
停止容器:docker stop ?容器ID
重啟容器:docker restart 容器ID
啟動(新)容器:docker run -it ubuntu /bin/bash
進(jìn)入容器:
docker attach 容器ID
或docker exec -it 容器ID /bin/bash
,推薦使用后者。查看docker狀態(tài):systemctl status docker
查看docker版本:docker -v
查看容器內(nèi)目錄:docker inspect 容器ID
更多的命令可以通過
docker help
命令來查看。
Docker設(shè)置開機(jī)自啟動
-
1、查看所有已啟動的服務(wù)
systemctl list-units --type=service
-
2、查看已設(shè)置的開機(jī)啟動服務(wù)
systemctl list-unit-files | grep enable
?
已設(shè)置開機(jī)啟動的服務(wù)中,是看不到 docker.service的。
-
3、設(shè)置開機(jī)啟動
systemctl enable docker.service
-
4、關(guān)閉開機(jī)啟動
systemctl disable docker.service
?當(dāng)執(zhí)行完:systemctl enable docker.service 命令時,再次查看開啟啟動服務(wù),就會在列表中看到 docker.service
Docker容器設(shè)置自動啟動?
- 啟動時加–restart=always
例如:啟動mysql服務(wù),跟隨docker一起啟動。
docker run -p 3306:3306 --name mysql --restart=always -v /application/mysql/conf:/etc/mysql/conf.d -v /application/mysql/logs:/logs -v /application/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
- 已經(jīng)啟動的,則使用update更新:
docker update --restart=always 容器id或name
Docker如何搭建和部署PHP
本編文章實操的是 Linux安裝Docker,安裝完成就該實際應(yīng)用到項目了。Docker如何搭建和部署PHP請參考我寫的另外一篇文章
Docker搭建PHP運行環(huán)境_Super樂的博客-CSDN博客文章來源:http://www.zghlxwxcb.cn/news/detail-586268.html
如何制作Docker鏡像,用于CI/CD發(fā)布當(dāng)中。?
制作Docker鏡像,還沒來得及整理,后續(xù)待完善.....文章來源地址http://www.zghlxwxcb.cn/news/detail-586268.html
到了這里,關(guān)于Linux安裝Docker完整詳細(xì)教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!