一涛碑、Docker的安裝與部署
Docker 要求 CentOS 系統(tǒng)的內(nèi)核版本高于 3.10 ,查看CentOS 版本
uname -r
Docker文件下載
其他版本下載地址
https://download.docker.com/linux/static/stable/x86_64/
安裝二進(jìn)制包漾峡,解壓到/usr/bin
tar -zxf docker-18.09.9.tgz && cp docker/* /usr/bin
創(chuàng)建Docker啟動(dòng)腳本
vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
在/etc下創(chuàng)建名為docker
的文件夾
mkdir -p /etc/docker && vim /etc/docker/daemon.json
daemon.json
內(nèi)容為
registry-mirrors 為倉(cāng)庫(kù)地址 可更改 可使用外網(wǎng)地址https://registry.docker-cn.com
{ "registry-mirrors": ["https://sg0wj9mg.mirror.aliyuncs.com"],
"log-driver":"json-file",
"log-opts":{
"max-size":"10m",
"max-file":"10"
}
}
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
指向docker倉(cāng)庫(kù),可以更改可以刪除
刪除registry-mirrors會(huì)指向dockerhub.io默認(rèn)地址拉去鏡像
本地harbor倉(cāng)庫(kù)為http://172.16.45.9
"log-opts":"max-size"限制單個(gè)容器日志大小的上限;"max-file":"3"意味著一個(gè)容器有三個(gè)日志责掏,分別是json.log、json.log.1轩拨、json.log.2践瓷。即:容器最多有三個(gè)日志文件,每個(gè)日志文件最大為2M亡蓉。
需要注意的是:設(shè)置的日志大小規(guī)則晕翠,只對(duì)新建的容器有效
參考文章
重新加載并測(cè)試啟動(dòng)
systemctl daemon-reload && systemctl enable docker && systemctl restart docker.service
執(zhí)行docker version查看效果
[root@localhost docker]# docker version
Client:
Version: 17.12.1-ce
API version: 1.35
Go version: go1.9.4
Git commit: 7390fc6
Built: Tue Feb 27 22:13:43 2018
OS/Arch: linux/amd64
Server:
Engine:
Version: 17.12.1-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.4
Git commit: 7390fc6
Built: Tue Feb 27 22:20:43 2018
OS/Arch: linux/amd64
Experimental: false
查看網(wǎng)絡(luò)是否有docker
虛擬網(wǎng)卡
ifconfig 或 ip a 命令
查看網(wǎng)絡(luò)是否有名為`docker0`虛擬網(wǎng)卡
安裝docker-compose
docker-compose下載地址
https://github.com/docker/compose/releases
上傳docker-compose到/usr/local/bin
目錄下并授執(zhí)行權(quán)限
mv docker-compose /usr/local/bin
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/
查看docker-compose版本:
docker-compose -v
輸出結(jié)果
docker-compose version 1.8.1, build 878cff1
普通用戶啟動(dòng)Docker
需要在服務(wù)器添加docker
組
groupadd docker
將非root權(quán)限用戶添加到docker
用戶組內(nèi)
usermod -aG docker user1 user2
組 用戶1 用戶2(添加多個(gè)用戶到組里面,需重新啟動(dòng)docker)
二砍濒、Docker常用命令
查看容器信息
docker ps (存活容器的信息)
docker ps -a (所有已存在容器的信息)
啟動(dòng)鏡像
docker run -dit --restart=always --name=string --net=host <imageID>
快速刪除容器
docker rm -f container ID
查看容器日志信息
docker logs container ID #查看所有日志信息
docker logs -f container ID #滾動(dòng)查看所有日志信息
docker logs --tail 100 container ID #查看最后100行日志信息
ocker logs -f --tail 100 container ID #滾動(dòng)查看最后100行日志信息
進(jìn)入Docker容器
docker exec -it 容器ID /bin/bash
導(dǎo)出鏡像
先看一下docker有哪些鏡像
[root@localhost New Folder]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
vmware/photon 1.0 4b481ecbef2a 15 months ago 130MB
有個(gè)名為vmware/photon的鏡像淋肾,版本為1.0那么導(dǎo)出命令為
docker save -o photon.tar vmware/photon:1.0
命令 選項(xiàng) 導(dǎo)出的包名 鏡像名 : 版本標(biāo)簽
導(dǎo)入鏡像
將photon.tar
放入任意位置執(zhí)行
docker load -i photon.tar
命令 選項(xiàng) 讀取加載的包名
從宿主機(jī)拷文件到容器里面
假設(shè)容器名為testtomcat,現(xiàn)在要將宿主機(jī)/opt/test.js文件拷貝到容器里面的/usr/local/tomcat/webapps/test/js路徑下面
docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js
從容器里面拷文件到宿主機(jī)
假設(shè)容器名為testtomcat,要從容器里面拷貝的文件路為:/usr/local/tomcat/webapps/test/js/test.js, 現(xiàn)在要將test.js從容器里面拷到宿主機(jī)的/opt路徑下
docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt
#### 將docker容器提交為鏡像
docker commit -m "" -a "" 容器ID(可以簡(jiǎn)寫) 鏡像名稱
-m 提示信息 -a 作者
如
```shell
docker commit -m "tomcat+jdk環(huán)境" -a "ixiao9" qweq1231awqe tomcat:版本
其他docker命令
批量停止容器
docker ps | xargs docker stop
docker stop $(docker ps -a -q)
批量刪除容器
docker ps -a | xargs docker rm
批量刪除鏡像
docker images | xargs docker rmi