Docker 實(shí)例

Linux安裝Docker

官網(wǎng)地址

配置源

# 備份原yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 使用新yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
# 生成緩存
yum makecache

虛擬機(jī)安裝docker

# 卸載系統(tǒng)之前的docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

sudo yum install -y yum-utils

# 配置鏡像
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    
sudo yum install docker-ce docker-ce-cli containerd.io

sudo systemctl start docker

# 設(shè)置開機(jī)自啟動(dòng)
sudo systemctl enable docker

docker -v
sudo docker images

# 配置鏡像加速(阿里云鏡像)
https://cr.console.aliyun.com/cn-qingdao/instances/mirrors

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://0epfm98a.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

注意重啟虛擬機(jī)和docker后里面的容器就關(guān)了

sudo docker ps
sudo docker ps -a
# 這兩個(gè)命令的差別就是后者會(huì)顯示  【已創(chuàng)建但沒有啟動(dòng)的容器】

# 設(shè)置要用的容器每次都是自動(dòng)啟動(dòng)
sudo docker update redis --restart=always
sudo docker update mysql --restart=always
# 如果不配置可以選擇手動(dòng)啟動(dòng)
sudo docker start mysql
sudo docker start redis
# 如果要進(jìn)入已啟動(dòng)的容器
sudo docker exec -it mysql /bin/bash
# /bin/bash就是進(jìn)入一般的命令行

Docker安裝mysql

sudo docker pull mysql:5.7

# --name指定容器名字 -v目錄掛載 -p指定端口映射  -e設(shè)置mysql參數(shù) -d后臺(tái)運(yùn)行
sudo 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

# 查看docker容器
docker ps

# 進(jìn)入容器
docker exec -it mysql bin/bash
 
# 因?yàn)橛心夸浻成洌晕覀兛梢灾苯釉阽R像外執(zhí)行 mysql配置
vi /mydata/mysql/conf/my.conf 

[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

Docker安裝Redis

如果直接掛載的話docker會(huì)以為掛載的是一個(gè)目錄舷手,所以我們先創(chuàng)建一個(gè)文件然后再掛載庶近,在虛擬機(jī)中挫剑。

# 在虛擬機(jī)中
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

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

# 直接進(jìn)去redis客戶端眶根。
docker exec -it redis redis-cli

默認(rèn)是不持久化的推沸。在配置文件中輸入appendonly yes竭缝,就可以aof持久化了希太。修改完docker restart redis,docker -it redis redis-cli

vim /mydata/redis/conf/redis.conf
# 插入下面內(nèi)容
appendonly yes

#保存重啟
docker restart redis

設(shè)置redis容器在docker啟動(dòng)的時(shí)候啟動(dòng)

docker update redis --restart=always

Docker安裝Nginx

docker pull nginx:1.10
# 隨便啟動(dòng)一個(gè)nginx實(shí)例琅锻,只是為了復(fù)制出配置
docker run -p 80:80 --name nginx -d nginx:1.10

cd /mydata/nginx
docker container cp nginx:/etc/nginx .
# 然后在外部 /mydata/nginx/nginx 有了一堆文件
mv /mydata/nginx/nginx /mydata/nginx/conf
# 停掉nginx
docker stop nginx
docker rm nginx

# 創(chuàng)建新的nginx
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10


docker update nginx --restart=always

# 測試
cd /mydata/nginx/html/
vim index.html
隨便寫寫
測試 http://192.168.56.10:80

Docker安裝ElasticSearch和Kibana

  1. 下載elastic search(存儲(chǔ)和檢索)和kibana(可視化檢索)
docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2
版本要統(tǒng)一
  1. 配置
# 將docker里的目錄掛載到linux的/mydata目錄中
# 修改/mydata就可以改掉docker里的
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data

# es可以被遠(yuǎn)程任何機(jī)器訪問
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml

# 遞歸更改權(quán)限卦停,es需要訪問
chmod -R 777 /mydata/elasticsearch/
  1. 啟動(dòng)elastic search
# 9200是用戶交互端口 9300是集群心跳端口
# -e指定是單階段運(yùn)行
# -e指定占用的內(nèi)存大小,生產(chǎn)時(shí)可以設(shè)置32G
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2 

# 查看運(yùn)行日志
docker logs elasticsearch

# 因?yàn)槿萜鲀?nèi)的文件映射到了外面恼蓬,所以刪除容器和新建容器數(shù)據(jù)還在
# 數(shù)據(jù)掛在到外面惊完,但是訪問權(quán)限不足,把/mydata/elasticsearch下文件夾的權(quán)限設(shè)置好
  1. 設(shè)置開機(jī)啟動(dòng)elasticsearch
docker update elasticsearch --restart=always
  1. 啟動(dòng)Kibana
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 -d kibana:7.4.2
  1. 設(shè)置開機(jī)啟動(dòng)kibana
docker update kibana  --restart=always

Docker安裝RabbitMQ

1处硬, 下載RabbitMq并啟動(dòng)

docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
  1. 設(shè)置開機(jī)啟動(dòng)RabbitMQ
docker update rabbitmq --restart=always
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末小槐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子荷辕,更是在濱河造成了極大的恐慌凿跳,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疮方,死亡現(xiàn)場離奇詭異控嗜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)骡显,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門疆栏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來曾掂,“玉大人,你說我怎么就攤上這事承边≡庋常” “怎么了雏蛮?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵咏连,是天一觀的道長铺浇。 經(jīng)常有香客問我籽御,道長腻异,這世上最難降的妖魔是什么呛哟? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任垢袱,我火速辦了婚禮幌甘,結(jié)果婚禮上窖式,老公的妹妹穿的比我還像新娘蚁飒。我一直安慰自己,他們只是感情好萝喘,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布淮逻。 她就那樣靜靜地躺著,像睡著了一般阁簸。 火紅的嫁衣襯著肌膚如雪爬早。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天启妹,我揣著相機(jī)與錄音筛严,去河邊找鬼。 笑死饶米,一個(gè)胖子當(dāng)著我的面吹牛桨啃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播檬输,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼照瘾,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了丧慈?” 一聲冷哼從身側(cè)響起网杆,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎伊滋,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體队秩,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡笑旺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了馍资。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筒主。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乌妙,到底是詐尸還是另有隱情使兔,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布藤韵,位于F島的核電站虐沥,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏泽艘。R本人自食惡果不足惜欲险,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望匹涮。 院中可真熱鬧天试,春花似錦、人聲如沸然低。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雳攘。三九已至带兜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間来农,已是汗流浹背鞋真。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留沃于,地道東北人涩咖。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像繁莹,于是被迫代替她去往敵國和親檩互。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • runoob-docker教程 總結(jié) 查看ip 查看容器運(yùn)行狀態(tài)(cpu和內(nèi)存這些) 進(jìn)入容器內(nèi)進(jìn)行命令行操作 使...
    tianmac閱讀 1,224評(píng)論 1 1
  • 一咨演、docker簡介 1闸昨、為什么會(huì)出現(xiàn)docker?一般情況下是開發(fā)人員開發(fā)好代碼薄风,本地測試通過后饵较,打成jar包或...
    貪挽懶月閱讀 4,352評(píng)論 4 62
  • 使用容器可以更快地構(gòu)建和部署新的應(yīng)用程序。Docker容器將軟件及其依賴項(xiàng)打包成一個(gè)標(biāo)準(zhǔn)的軟件開發(fā)單元遭赂,該單元包含...
    runewbie閱讀 326評(píng)論 0 1
  • @(Docker分享)[Dockerfile|私有倉庫|容器互聯(lián)|跨網(wǎng)絡(luò)互聯(lián)] 分析內(nèi)容 Dockerfile參數(shù)...
    青蛙大王閱讀 879評(píng)論 1 1
  • 推薦指數(shù): 6.0 書籍主旨關(guān)鍵詞:特權(quán)循诉、焦點(diǎn)、注意力撇他、語言聯(lián)想茄猫、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析狈蚤,社會(huì)...
    Jenaral閱讀 5,724評(píng)論 0 5