基于centos7
啟動/停止/重啟docker
systemctl start/stop/restart docker
docker version
[root@localhost ~]# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-63.git94f4240.el7.centos.x86_64
Go version: go1.9.4
Git commit: 94f4240/1.13.1
Built: Fri May 18 15:44:33 2018
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-63.git94f4240.el7.centos.x86_64
Go version: go1.9.4
Git commit: 94f4240/1.13.1
Built: Fri May 18 15:44:33 2018
OS/Arch: linux/amd64
Experimental: false
docker info
[root@localhost ~]# docker info
Containers: 4
Running: 0
Paused: 0
Stopped: 4
Images: 2
Server Version: 1.13.1
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: journald
Cgroup Driver: systemd
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: docker-runc runc
Default Runtime: docker-runc
Init Binary: /usr/libexec/docker/docker-init-current
containerd version: (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
runc version: e9c345b3f906d5dc5e8100b05ce37073a811c74a (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)
init version: 5b117de7f824f3d3825737cf09581645abbe35d4 (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:
seccomp
WARNING: You're not using the default seccomp profile
Profile: /etc/docker/seccomp.json
selinux
Kernel Version: 3.10.0-862.3.3.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 3
CPUs: 1
Total Memory: 974.6 MiB
Name: localhost
ID: T264:INRQ:GNYY:GRMM:BCQB:TTNT:2C2V:MI55:JXJ7:DO23:VY4B:UNSD
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Registries: docker.io (secure)
docker images
查看本地鏡像
docker ps
查看運行中的docker容器
docker ps -a 查看所有容器诗充,包括退出的。
查看某鏡像啟動日志
docker logs 鏡像id
docker search tomcat
從鏡像倉庫搜索鏡像
pull鏡像
docker pull tomcat
啟動/關(guān)閉/重啟容器
docker start/stop/restart 容器id
運行容器-tomcat
docker run -d -p 8080:8080 tomcat
-d: 后臺啟動
-p: 端口映射
-P: 隨機端口映射蝴蜓。docker run -d -P tomcat
進(jìn)入容器
docker run -d -p 8080:8080 tomcat => 啟動tomcat容器后,并沒有進(jìn)入容器茎匠。
- docker attach 容器id => 退出后會關(guān)閉容器(不推薦)
- docker exec -it 容器id bash
-i: interactive 交互的
-t: terminal 偽終端
bash: 這個參數(shù)必須帶诵冒,或者寫成/bin/bash也行
退出容器
exit
刪除容器
docker rm 容器id1 容器id2
如果容器運行中,可以加-f強制刪除:force
docker容器中沒有vi/vim等命令
apt-get update
apt-get install vim
容器重命名
docker rename 原容器名 新容器名
本地復(fù)制文件到docker容器內(nèi)
docker cp xxx containerId:/usr/share/elasticsearch/plugins
docker容器內(nèi)復(fù)制文件到本地
docker cp containerId:/usr/share/elasticsearch/plugins/a.txt /root
elasticsearch踩坑
給/usr/share/elasticsearch/plugins下復(fù)制了一個ik分詞器文件進(jìn)去汽馋,然后elasticsearch容器重啟失敗,而不進(jìn)入容器又不能做文件刪除(但可以從里邊cp文件到本地)悄雅。
docker貌似不提供:在不啟動容器的情況下對容器內(nèi)文件的刪除操作铁蹈。
于是本地全局搜索:find / -name xxx => 刪除文件后elasticsearch正常啟動。
/var/lib/docker/overlay2/0834dcb38f857e9a4d0638d90fe2965b94b49fd4f966516f326b43f164fdcb2b/diff/xxxxx
ik分詞器
ik分詞器的版本號要跟es完全一致[小版本號也要一致]
如果找不到對應(yīng)版本號的ik分詞器,可以修改plugin-descriptor.properties的版本號娩梨,這樣能夠正常啟動es览徒。
對于ik分詞器建議是索引時使用ik_max_word將搜索內(nèi)容進(jìn)行細(xì)粒度分詞,搜索時使用ik_smart提高搜索精確性
輸入:
{
"analyzer": "ik_max_word", -- 最多分詞數(shù)量
"text": "我是中國人"
}
輸出:
{
"tokens": [
{
"token": "我",
"start_offset": 0,
"end_offset": 1,
"type": "CN_CHAR",
"position": 0
},
{
"token": "是",
"start_offset": 1,
"end_offset": 2,
"type": "CN_CHAR",
"position": 1
},
{
"token": "中國人",
"start_offset": 2,
"end_offset": 5,
"type": "CN_WORD",
"position": 2
},
{
"token": "中國",
"start_offset": 2,
"end_offset": 4,
"type": "CN_WORD",
"position": 3
},
{
"token": "國人",
"start_offset": 3,
"end_offset": 5,
"type": "CN_WORD",
"position": 4
}
]
}
======================
輸入:
{
"analyzer": "ik_smart", -- 聰明的分詞(比較精準(zhǔn)掸冤,比較少)
"text": "我是中國人"
}
輸出:
{
"tokens": [
{
"token": "我",
"start_offset": 0,
"end_offset": 1,
"type": "CN_CHAR",
"position": 0
},
{
"token": "是",
"start_offset": 1,
"end_offset": 2,
"type": "CN_CHAR",
"position": 1
},
{
"token": "中國人",
"start_offset": 2,
"end_offset": 5,
"type": "CN_WORD",
"position": 2
}
]
}
docker啟動MySQL
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 id
docker exec -it id bash
bash-4.2$ mysql -h 127.0.0.1 -u root
Enter password:123456