安裝步驟
1、uname -r :查看你當(dāng)前的內(nèi)核版本(3.10以上)
2、sudo yum install -y yum-utils device-mapper-persistent-data lvm2:安裝系統(tǒng)工具
3、sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo:添加軟件源信息
4、sudo yum makecache fast :更新yum緩存
5、sudo yum -y install docker-ce :安裝Docker-ce
6、sudo systemctl start docker :啟動(dòng)Docker后臺(tái)服務(wù)
鏡像加速
vi /etc/docker/daemon.json(Linux)
{? "registry-mirrors": ["http://hub-mirror.c.163.com"]}
刪除Docker CE
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
Docker 使用(常用命令)
docker inspect? :查看鏡像的源數(shù)據(jù)
docker top tomcat :查看容器tomcat的進(jìn)程信息
docker logs 792ed4cd2b85 :查看日志
docker logs -f 792ed4cd2b85 :控制臺(tái)查看日志
docker port tomcat :列出指定tomcat容器的端口映射
docker run --name mynginx2 -d nginx:latest :啟動(dòng)nginx容器
docker run --name mynginx1 -d nginx:latest :
使用docker鏡像nginx:latest以后臺(tái)模式啟動(dòng)一個(gè)容器并命名為mynginx1
docker run -P -d nginx:latest :
使用鏡像nginx:latest以后臺(tái)模式啟動(dòng)一個(gè)容器,并將容器的80端口映射到主機(jī)隨機(jī)端口
docker run -p 80:80 -v /data:/data -d nginx:latest :
使用鏡像nginx:latest,以后臺(tái)模式啟動(dòng)一個(gè)容器,將容器的80端口映射到主機(jī)的80端口,主機(jī)的目錄/data映射到容器的/data
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash :
綁定容器的8080端口,并將其映射到本地主機(jī)127.0.0.1的80端口上
Docker 在tomcat鏡像中啟動(dòng)war包
docker start tomcat :啟動(dòng)tomcat鏡像
docker ps :查看鏡像的CONTAINER ID
docker cp /opt/weixins1/test/demo2.war 792ed4cd2b85:/usr/local/tomcat/webapps
上傳war包到docker拉取的tomcat鏡像下
cd /usr/local/tomcat/webapps :查看war包是否上傳成功
docker start tomcat :重新啟動(dòng)tomcat鏡像
docker logs -f 792ed4cd2b85:查看對應(yīng)鏡像的日志
Docker 常用命令
(1) 安裝 docker:
yum install -y docker
(2) 啟動(dòng) docker服務(wù):
service docker start? //啟動(dòng)docker service
如果想要關(guān)閉docker服務(wù):
service docker stop
(3) 獲取鏡像:
sudo docker pull NAME[:TAG]
sudo docker pull centos:latest
比如獲取tomcat 鏡像:
docker pull tomcat? //命令格式: docker pull NAME
(4) 羅列所有鏡像:
docker images
(5)、刪除鏡像,從本地刪除一個(gè)已經(jīng)下載的鏡像
sudo docker rmi IMAGE [IMAGE...]
sudo docker rmi centos:latest
(5)創(chuàng)建docker容器 并進(jìn)入 webdemo1:
docker run -it --name webdemo1 -p 81:8080 tomcat /bin/bash
docker run -i -t <IMAGE_ID> /bin/bash:
-i:標(biāo)準(zhǔn)輸入給容器 -t:分配一個(gè)虛擬終端 /bin/bash:執(zhí)行bash腳本
注意:name前面是兩個(gè)-, 端口前面有-p, 后面有個(gè)tomcat;
這里我們啟動(dòng)一個(gè)交互式的容器,名字是webdemo1,-p 81:8080表示將容器的8080端口映射到主機(jī)的81端口,這樣我們只要訪問主機(jī)的81端口就可以訪問到容器的服務(wù)了。如果還想創(chuàng)建其他的容器,那么名稱 要改,而且不能再掛載到主機(jī)的81上了,可以82上掛載;
(6)啟動(dòng)一個(gè)停止的容器:
docker start webdemo
(7) 羅列所有的docker容器:包含了啟動(dòng)的Docker和沒有啟動(dòng)的容器Docker
docker ps -a;
(8) 啟動(dòng)容器:
docker start webdemo
可能端口會(huì)被占用,我們可以先把運(yùn)行的docker實(shí)例停掉,然后再刪掉,
docker kill webdemo
docker rm webdemo
(9) 進(jìn)入其中一個(gè)容器:使用docker exec命令
這個(gè)命令使用exit命令后,不會(huì)退出后臺(tái),一般使用這個(gè)命令,使用方法如下
docker exec -it webdemo /bin/bash
(10)拷貝文件
從主機(jī)復(fù)制到容器 sudo docker cp host_path containerID:container_path
從容器復(fù)制到主機(jī) sudo docker cp containerID:container_path host_path
請注意,以上這兩個(gè)命令都是在主機(jī)中執(zhí)行的,不能再容器中執(zhí)行
docker cp /root/software/docker.war webdemo:/
docker cp demo:/abc.txt? /root/software/
(10) 在容器中啟動(dòng)tomcat:?
cd /usr/local/tomcat/bin
./catalina.sh run
(11)記住一個(gè)服務(wù)器可以有多個(gè)容器,但是一個(gè)服務(wù)器只需要安裝一個(gè)tomcat,然后每個(gè)容器可以掛載到不同的tomcat的端口上面,就是這關(guān)系。前臺(tái)訪問:
http://192.168.163.128:80/docker? //這是第一個(gè)容器webdemo
http://192.168.163.128:81/docker; //這是第二個(gè)容器webdemo1