開(kāi)發(fā)中經(jīng)常需要安裝一些常用的服務(wù)軟件,如Nginx、MySql、Redis等,如果按照普通的安裝方法,一般都相對(duì)比較繁瑣 ——
要經(jīng)過(guò)下載軟件或源碼包,編譯安裝,配置,啟動(dòng)等步驟,使用 Docker 來(lái)安裝這些服務(wù)軟件能極大地簡(jiǎn)化安裝過(guò)程,且速度也很快。
?
本文以下操作假定你已經(jīng)裝好了docker,并做好了鏡像配置。如果沒(méi)有,請(qǐng)參考?Docker筆記(三):
<http://mp.weixin.qq.com/s?__biz=MzIyMzYwMjA5MA==&mid=2247483781&idx=1&sn=b2180c8f86949f8b9edef17fbcb02d25&chksm=e81af540df6d7c56bf9392fb1ad727f99de1d6dd5896afe8b4157e20816fcc4c65827ad77e8f&scene=21#wechat_redirect>
Docker安裝與配置
<http://mp.weixin.qq.com/s?__biz=MzIyMzYwMjA5MA==&mid=2247483781&idx=1&sn=b2180c8f86949f8b9edef17fbcb02d25&chksm=e81af540df6d7c56bf9392fb1ad727f99de1d6dd5896afe8b4157e20816fcc4c65827ad77e8f&scene=21#wechat_redirect>
1. MySql 安裝
1.1 下載鏡像
~$ docker pull mysql:5.7
1.2 創(chuàng)建掛載目錄
~$ mkdir -p apps/mysql/conf apps/mysql/data apps/mysql/logs
如上分別創(chuàng)建了配置文件目錄,數(shù)據(jù)存放目錄,以及日志文件目錄
1.3 啟動(dòng)容器實(shí)例
~$ docker run -d -p 3306:3306 --name mysql -v
/home/devuser/apps/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf \
-v /home/devuser/apps/mysql/logs:/var/log/mysql -v
/home/devuser/apps/mysql/data:/var/lib/mysql \
--restart=always -e MYSQL_ROOT_PASSWORD=Passw0rd mysql:5.7
其中
-d:表示在后臺(tái)運(yùn)行
-p:宿主機(jī)端口與容器端口映射
–name:容器名稱
-v:宿主機(jī)目錄與容器目錄映射
–restart=always:除非被docker stop命令明確停止,否則一直嘗試重啟處于停止態(tài)的容器;如果Docker重啟,也會(huì)自動(dòng)啟動(dòng)容器
-e:設(shè)置環(huán)境變量,這里設(shè)置了mysql root用戶的密碼為Passw0rd
如此,MySql服務(wù)就跑起來(lái)了,很快很簡(jiǎn)單有木有。
?
2. Redis 安裝
2.1 拉取鏡像
~$ docker pull redis:5.0.5
2.2 啟動(dòng)容器
~$ docker run -d --name redis -p 6379:6379 -v
/home/devuser/apps/redis/data:/data \
--restart=always redis:5.0.5 redis-server --appendonly yes --requirepass "
Passw1rd"
-p, -v 與上同,不贅述
redis-server –appendonly yes : 在容器啟動(dòng)時(shí)執(zhí)行redis-server命令,并打開(kāi)redis持久化配置
–requirepass:設(shè)置密碼
2.3 連接
~$ docker exec -it redis redis-cli -h 172.17.0.4 -p 6379 -a Passw1rd Warning:
Using a password with'-a' or '-u' option on the command line interface may not
be safe.172.17.0.4:6379> keys * (empty list or set) 172.17.0.4:6379>
?這種方式把密碼暴露了,其它登錄用戶通過(guò)history即可看到密碼,不是太安全??筛挠萌缦路绞?,
~$ docker exec -it redis redis-cli 127.0.0.1:6379> 127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.127.0.0.1:6379> auth 'Passw1rd' OK 127.0.
0.1:6379> keys * (empty list or set) 127.0.0.1:6379>
?
3. Nginx 安裝
3.1 拉取鏡像
~$ docker pull nginx
不加標(biāo)簽?zāi)J(rèn)會(huì)拉取最新的(latest)鏡像
3.2 創(chuàng)建目錄
~$ mkdir -p apps/nginx/html apps/nginx/logs apps/nginx/conf
3.3 先不指定映射路徑啟動(dòng)一個(gè)容器
~$ docker run -d -p 80:80 --name nginx nginx
1fdcd13457a6eaacb511878e10d84ffbe48fe63fd1fb3705f58b2d4195b151d8
這里如果直接指定映射路徑運(yùn)行會(huì)報(bào)錯(cuò),
~$ docker run -d -p 80:80 --name nginx -v
~/apps/nginx/html:/usr/share/nginx/html -v
~/apps/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v
~/apps/nginx/logs:/var/log/nginx nginx
dab56c13f9e76aad37fcf73411c78d495a6466f1c0d214949650dbae44adddf4 docker: Error
response from daemon: OCI runtime create failed: container_linux.go:345:
starting container process caused"process_linux.go:424: container init caused
\"rootfs_linux.go:58: mounting \\\"/home/devuser/apps/nginx/conf/nginx.conf\\\"
to rootfs
\\\"/home/docker_image/overlay2/e40ccaf4d845a9af92487b47cbc4d505c5c776800ef8887c5b43833b10661427/merged\\\"
at
\\\"/home/docker_image/overlay2/e40ccaf4d845a9af92487b47cbc4d505c5c776800ef8887c5b43833b10661427/merged/etc/nginx/nginx.conf\\\"
caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory
onto afile (or vice-versa)? Check if the specified host path exists and is the
expected type.
3.4 將運(yùn)行容器的配置文件復(fù)制到宿主機(jī)目錄下?
~$ docker cp 1fdcd13457a6:/etc/nginx/nginx.conf ~/apps/nginx/conf/
3.5 刪除容器并重新運(yùn)行
~$ docker stop 1fdcd1345 ~$ docker rm 1fdcd1345 ~$ docker run -d -p 80:80
--name nginx -v ~/apps/nginx/html:/usr/share/nginx/html -v
~/apps/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v
~/apps/nginx/logs:/var/log/nginx nginx
3.6 更新配置后重新加載
~$ docker kill -s HUP nginx
類似于?nginx -s reload
?
4. 總結(jié)
本文沒(méi)有總結(jié)。
?
我的微信公眾號(hào):jboost-ksxy (一個(gè)不只有技術(shù)干貨的公眾號(hào),歡迎關(guān)注)
——————————————————————————————————————
?
?
熱門(mén)工具 換一換

感谢您访问我们的网站,您可能还对以下资源感兴趣:
调教肉文小说-国产成本人片免费av-空姐av种子无码-在线观看免费午夜视频-综合久久精品激情-国产成人丝袜视频在线观看软件-大芭区三区四区无码-啊啊好爽啊啊插啊用力啊啊-wanch视频网-国产精品成人a免费观看