centos中使用docker
安裝docker
1.安裝前的準(zhǔn)備工作
從 2017 年 3 月開(kāi)始 docker 在原來(lái)的基礎(chǔ)上分為兩個(gè)分支版本: Docker CE 和 Docker EE。
Docker CE 即社區(qū)免費(fèi)版辜王,Docker EE 即企業(yè)版俏让,強(qiáng)調(diào)安全,但需付費(fèi)使用洒宝。
這里介紹 Docker CE 的安裝使用蝇闭。
2.首先刪除之前的版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
4.安裝一些必要的系統(tǒng)工具:
yum install -y yum-utils device-mapper-persistent-data lvm2
5.添加軟件源信息 罕偎,這里建議添加淘寶的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6.更新 yum 緩存 強(qiáng)烈建議 我上次忘了設(shè)置 結(jié)果 執(zhí)行總是中斷
yum makecache fast
7.安裝過(guò)docker-ce
yum -y install docker-ce
8.啟動(dòng)docker服務(wù)
systemctl start docker
9注意事項(xiàng)
鑒于國(guó)內(nèi)網(wǎng)絡(luò)問(wèn)題,后續(xù)拉取 Docker 鏡像十分緩慢陌知,我們可以需要配置加速器來(lái)解決他托, 有很多鏡像可以給大家選擇 ,我這里 使用了三個(gè)鏡像仆葡,大家可以參考一下
首先移動(dòng)到 安裝docker的文件目錄下
cd /etc/docker/
ls
daemon.json
如果你沒(méi)有看到 daemon.json 文件 赏参,那么請(qǐng)自己創(chuàng)建一個(gè)
該文件內(nèi)容為
{
"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]
}
docker中創(chuàng)建tomcat的鏡像
1.查找DockerHub的鏡像
docker search tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementa... 744 [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 ba... 19 [OK]
consol/tomcat-7.0 Tomcat 7.0.57, 8080, "admin/admin" 16 [OK]
consol/tomcat-8.0 Tomcat 8.0.15, 8080, "admin/admin" 14 [OK]
cloudesire/tomcat Tomcat server, 6/7/8 8 [OK]
davidcaste/alpine-tomcat Apache Tomcat 7/8 using Oracle Java 7/8 wi... 6 [OK]
andreptb/tomcat Debian Jessie based image with Apache Tomc... 4 [OK]
kieker/tomcat 2 [OK]
fbrx/tomcat Minimal Tomcat image based on Alpine Linux 2 [OK]
jtech/tomcat Latest Tomcat production distribution on l... 1 [OK]
2.開(kāi)始拉取鏡像
docker pull tomcat
3.我們就可以在本地鏡像列表里查到tomcat的鏡像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 8.5.37-jre8 7ee26c09afb3 7 days ago 462MB
4.通過(guò)鏡像文件來(lái) 創(chuàng)建一個(gè)容器對(duì)象
docker run --name tt -p 8088:8080 tomcat
--name 為設(shè)置的別名
-p 映射宿主機(jī)和容器的ip關(guān)系
tomcat 為鏡像的名字
平時(shí)需要在后臺(tái)執(zhí)行的時(shí)候 需要添加參數(shù) -d
docker中創(chuàng)建nginx鏡像 已經(jīng)配置
1.首先查找nginx鏡像
docker search nginx
2.然后拉取鏡像
docker pull nginx
3.查看獲取的鏡像
docker images
4.啟動(dòng)nginx容器
docker run -d -p 80:80 nginx
使用宿主機(jī)配置文件啟動(dòng)鏡像
1.創(chuàng)建一個(gè)掛載目錄
mkdir -p /home/nginx/{conf,conf.d,html,logs}
2.編寫(xiě)nginx.conf配置文件,并放在文件conf夾中
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#include /etc/nginx/conf.d/*.conf;
upstream tomcat_client {
server t1:8080 weight=1;
server t2:8080 weight=1;
}
server {
server_name "";
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
location / {
proxy_pass http://tomcat_client;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
其中 server 后需要設(shè)置的 tomcat 容器的別名 和容器的端口號(hào)
3.運(yùn)行nginx容器
docker run --name mynginx -d -p 80:80 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx nginx
遇到的問(wèn)題
1.
如果啟動(dòng)后無(wú)法訪問(wèn)代理的tomcat 需要注意的是沿盅,因?yàn)閠omcat也是容器把篓,需要配置容器和容器之間的網(wǎng)絡(luò)訪問(wèn)
需要?jiǎng)?chuàng)建一個(gè) network
docker network create web_net
然后創(chuàng)建容器的時(shí)候指定網(wǎng)絡(luò)
docker run -it --name t1 -p 8081:8080 -d -v /home/tomcat/webapps/:/usr/local/tomcat/webapps/ --network web_net --network-alias t1 tomcat
docker run -it --name t2 -p 8082:8080 -d -v /home/tomcat/webapps/:/usr/local/tomcat/webapps/ --network web_net --network-alias t2 tomcat
docker run --name myx -d -p 80:80 --network web_net --network-alias n1 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx nginx
2.
在容器安裝軟ping命令的方法
1
apt-get update
2
apt-get install iputils-ping