簡介
Docker
是一個開源的容器化平臺,可幫助開發(fā)者輕松地創(chuàng)建、部署和運行應用程序。Docker
使開發(fā)人員能夠在一個獨立的容器中打包應用程序及其依賴項,這樣他們就可以輕松地將應用程序移植到任何其他環(huán)境中。
使用Docker
的主要優(yōu)勢:
- 便于部署:由于
Docker
容器可以在任何支持Docker
的平臺上運行,因此應用程序可以輕松地在不同的環(huán)境中部署和運行。 - 隔離性:
Docker
容器提供了隔離的運行環(huán)境,使得應用程序可以在獨立的環(huán)境中運行,從而避免了依賴沖突和其他問題。 - 可移植性:
Docker
容器可以輕松地從一個平臺移植到另一個平臺,從而使應用程序在不同的平臺上運行變得更加容易。 - 安全性:
Docker
容器提供了安全性隔離,使得應用程序和它的依賴項可以在受保護的環(huán)境中運行,從而減少了潛在的安全風險。
官方安裝文檔
Docker 官方安裝文檔:https://docs.docker.com/install/linux/docker-ce/centos/
doker安裝(Centos7服務器版本)
1、卸載系統(tǒng)之前可能安裝的 docker(防止沖突)
卸載系統(tǒng)之前可能安裝的 docker(防止版本不一致,發(fā)生沖突)
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、安裝 Docker-CE 基本環(huán)境
安裝必須的依賴
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
設置 docker repo 的 yum 位置
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安裝 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
這樣就安裝好docker
和基本環(huán)境了,接下來就可以啟動docker
了
3、啟動 docker
#啟動docker
sudo systemctl start docker
#查看docker服務狀態(tài) running 就是啟動成功
sudo systemctl status docker
4、設置 docker 開機自啟
sudo systemctl enable docker
5、測試 docker 常用命令
docker命令官方文檔 https://docs.docker.com/engine/reference/commandline/docker/
Docker
的常用命令:
#鏡像命令
docker images:列出所有鏡像
docker search [image]:搜索 Docker 鏡像
docker pull [image]:拉取指定鏡像
docker rmi [image]:刪除指定鏡像
#容器命令
docker ps:列出當前所有正在運行的容器
docker ps -a:列出所有容器,包括已經(jīng)停止的容器
docker create [image]:創(chuàng)建一個新的容器,但不啟動它
docker start [container]:啟動一個容器
docker stop [container]:停止一個容器
docker rm [container]:刪除一個容器
docker exec -it [container] [command]:在運行中的容器中執(zhí)行命令
#其他命令
docker info:顯示 Docker 系統(tǒng)信息
docker version:顯示 Docker 版本信息
docker logs [container]:查看容器的日志
docker network ls:列出 Docker 網(wǎng)絡
docker network create [network]:創(chuàng)建一個新的 Docker 網(wǎng)絡
docker network connect [network] [container]:將容器連接到指定的 Docker 網(wǎng)絡
docker network disconnect [network] [container]:將容器從指定的 Docker 網(wǎng)絡中斷開連接
6、配置 docker 鏡像加速
配置 docker阿里云容器鏡像服務鏡像加速,可以使您的docker使用起來更流暢
注意:針對 Docker 客戶端版本大于 1.10.0 的用戶
您也可以直接通過修改daemon
配置文件/etc/docker/daemon.json
來使用其他的加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docke
上述代碼的意思是在本機創(chuàng)建/etc/docker
目錄,創(chuàng)建文件daemon.json
,在其中輸入一下代碼,重啟docker。
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
Docker 容器化安裝 Mysql 容器
MySQL 配置
創(chuàng)建掛載的目錄
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
1、下載鏡像文件,創(chuàng)建實例并啟動
不多廢話,直接上代碼
docker pull mysql:5.7
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/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
參數(shù)說明
-
-p 3306:3306
:將容器的 3306 端口映射到主機的 3306 端口 -
-v /mydata/mysql/conf:/etc/mysql/conf.d
:將配置文件夾掛載到主機 -
-v /mydata/mysql/log:/var/log/mysql
:將日志文件夾掛載到主機 -
-v /mydata/mysql/data:/var/lib/mysql
:將數(shù)據(jù)文件夾掛載到主機 -
-e MYSQL_ROOT_PASSWORD=root
:初始化 root 用戶的密碼
注意:-v /mydata/mysql/conf:/etc/mysql/conf.d
,這段代碼筆者在使用時遇到一些錯誤,掛載時需要加上conf.d
,如果部署發(fā)生錯誤,嘗試去除這段,換用以下部署代碼
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
2、進入容器,修改權限
使用容器mysql命令行工具
docker exec -it mysql mysql -uroot -proot
設置 root 遠程訪問
//設置遠程root密碼登錄,與本地root密碼登錄不同
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
// 如需修改
//alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;
進入容器內(nèi)部,查看配置文件是否掛載成功
docker exec -it mysql /bin/bash
cd /etc/mysql/conf.d
cat my.cnf
注意:掛載的配置文件要先創(chuàng)建才可以看到容器內(nèi)部是否生效,即要先創(chuàng)建/mydata/mysql/confmy.cnf
文件才能觀察到內(nèi)外配置信息。
Docker 容器化安裝 Redis 容器
Redis 配置
創(chuàng)建掛載的目錄
vi /mydata/redis/conf/redis.conf
輸入以下配置文件
# 暫無
#password= 123
1、下載鏡像文件,創(chuàng)建實例并啟動
不多廢話,直接上代碼
docker pull 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
參數(shù)說明
-
-p 6379:6379
:將容器的 3306 端口映射到主機的 3306 端口 -
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
:將配置文件夾掛載到主機 -
-v /mydata/redis/data:/data
:將數(shù)據(jù)文件夾掛載到主機
2、進入容器
#重啟redis
docker restart redis
#啟動redis客戶端
docker exec -it redis redis-cli
Docker 容器化安裝 Nacos容器
mysql創(chuàng)建nacos的數(shù)據(jù)庫
create database nacos_config
SQL 文件:db/nacos-db.sql · yeye/gmall - 碼云 - 開源中國 (gitee.com)
Nacos配置
創(chuàng)建掛載的目錄
mkdir -p /mydata/nacos/conf/ #新建nacos的logs目錄
mkdir -p /mydata/nacos/logs/
vim /mydata/nacos/conf/application.properties #新建并修改nacos的配置文件
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
注意: 這里的配置需要把數(shù)據(jù)庫鏈接配置一下。
db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pass
修改為自己的數(shù)據(jù)庫地址和賬號密碼
下載鏡像文件,創(chuàng)建實例并啟動
不多廢話,直接上代碼
docker pull nacos/nacos-server:1.1.4
docker run -d \
--name nacos \
-p 8848:8848 \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties \
nacos/nacos-server
參數(shù)說明
-
-p 6379:6379
:將容器的 3306 端口映射到主機的 3306 端口 -
/mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties
:將配置文件夾掛載到主機 -
-v /mydata/nacos/logs:/home/nacos/logs
:將日志文件夾掛載到主機
進入容器
#重啟redis
docker restart nacos
#進入容器
docker exec -it nacos bash
訪問 Nacos
訪問地址:http://x.x.x.x:8848/nacos (這里是服務器的ip地址)
賬號密碼:nacos / nacos
進去了就算成功文章來源:http://www.zghlxwxcb.cn/news/detail-713001.html
如果這篇【文章】有幫助到你,希望可以給筆者點個贊??,創(chuàng)作不易,感興趣的也可以關注一下筆者,后續(xù)也會更新更多的內(nèi)容,例如狀態(tài)機和工作流的實踐,都會在后續(xù)慢慢更新。文章來源地址http://www.zghlxwxcb.cn/news/detail-713001.html
到了這里,關于Centos7系統(tǒng) Docker 安裝和使用教程(超詳細附帶常用的容器部署代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!