docker版本 : 18.09.3
# 重啟
systemctl daemon-reload # 啟動守護(hù)進(jìn)程
service docker restart # 重啟
docker images #查看所有鏡像
docker rmi -f 鏡像名 #刪除鏡像
docker ps #查看所有運(yùn)行中的容器
docker ps -a # 查看所有容器包括未運(yùn)行的
docker stop $ContainerId 或者 容器名稱 # 停止容器
docker kill $ContainerId 或者 容器名稱 #強(qiáng)制停止容器
docker start $ContainerId 或者 容器名稱 # 啟動已停止的容器
docker rm $ContainerId 或者 容器名稱 # 刪除容器
docker logs $ContainerId 或者 容器名稱 # 查看啟動錯誤日志
# 支持http
vi /usr/lib/systemd/system/docker.service 修改為:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
docker stats 容器名稱 # 查看指定容器情況
docker stats -a # 查看所有容器情況
docker exec -it 容器名稱 /bin/bash # 進(jìn)入容器內(nèi)部
#docker中 啟動所有的容器命令
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
#docker中 關(guān)閉所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
#docker中 刪除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
#docker中 刪除所有的鏡像
docker rmi $(docker p_w_picpaths | awk '{print $3}' |tail -n +2)
復(fù)制命令時(shí)不要雙擊選擇復(fù)制!!
那樣會帶回車符號,粘貼時(shí)會有奇怪的bug出現(xiàn)
docker環(huán)境安裝
docker安裝
1. 安裝yum-utils:
yum install -y yum-utils device-mapper-persistent-data lvm2
2. 為yum源添加docker倉庫位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3. 安裝docker:
yum install docker-ce
4. 啟動docker:
systemctl start docker
5. 安裝上傳下載插件:
yum -y install lrzsz
docker compose安裝
- 下載地址:https://github.com/docker/compose/releases
- 安裝地址:/usr/local/bin/docker-compose
- 設(shè)置為可執(zhí)行:sudo chmod +x /usr/local/bin/docker-compose
- 測試是否安裝成功:docker-compose --version
mysql安裝
下載鏡像文件
docker pull mysql:5.7
創(chuàng)建實(shí)例并啟動
docker run -p 3306:3306 --name mysql -v /home/mydata/mysql/log:/var/log/mysql -v /home/mydata/mysql/data:/var/lib/mysql -v /home/mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
參數(shù)說明
第一個(gè)參數(shù)是 主機(jī)端口,第二個(gè)為容器端口
- -p 3306:3306:將主機(jī)的3306端口映射到容器的3306端口
- -v /mydata/mysql/conf:/etc/mysql:將配置文件夾掛在到主機(jī)
- -v /mydata/mysql/log:/var/log/mysql:將日志文件夾掛載到主機(jī)
- -v /mydata/mysql/data:/var/lib/mysql/:將配置文件夾掛載到主機(jī)
- -e MYSQL_ROOT_PASSWORD=root:初始化root用戶的密碼
通過容器的mysql命令行工具連接
docker exec -it mysql mysql -uroot -proot
設(shè)置遠(yuǎn)程訪問
grant all privileges on *.* to 'root'@'%' identified by '123456';
flush privileges;
進(jìn)入容器文件系統(tǒng)
docker exec -it mysql /bin/bash
redis安裝
下載鏡像文件
docker pull redis:3.2
創(chuàng)建實(shí)例并啟動
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -d redis:3.2 redis-server --appendonly yes
使用redis鏡像執(zhí)行redis-cli命令連接
docker exec -it redis redis-cli
docker run -p 6379:6379 --name redis -v /home/mydata/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/mydata/redis/data:/data -d redis:3.2 redis-server /etc/redis/redis.conf --appendonly yes --requirepass "Guoya006"
rabbitmq安裝
下載鏡像文件
docker pull rabbitmq:management
創(chuàng)建實(shí)例并啟動
docker run -d --name rabbitmq --publish 5671:5671 --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 rabbitmq:management
mongodb安裝
下載鏡像文件
docker pull mongo:3.2
創(chuàng)建實(shí)例并運(yùn)行
docker run -p 27017:27017 --name mongo -v /mydata/mongo/db:/data/db -d mongo:3.2
使用mongo命令進(jìn)入容器
docker exec -it mongo mongo
nginx 安裝
docker pull nginx
docker run -p 80:80 --name nginx -d nginx
將容器內(nèi)的配置文件拷貝到當(dāng)前目錄:docker container cp nginx:/etc/nginx .
修改文件名稱:mv nginx conf
終止容器:docker stop nginx
執(zhí)行命令刪除原容器:docker rm nginx
docker run -p 80:80 -p 443:443 --name nginx -v /mydata/nginx/html:/usr/local/webserver/nginx/html -v /mydata/nginx/conf:/etc/nginx -v /mydata/nginx/logs:/www/logs -d nginx
安裝elasticsearch
docker pull elasticsearch:2.4
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data -d elasticsearch:2.4
1. 進(jìn)入docker內(nèi)部bash:docker exec -it elasticsearch /bin/bash
2. 安裝插件:plugin install mobz/elasticsearch-head
3. 測試:[http://192.168.1.66:9200/_plugin/head/](http://192.168.1.66:9200/_plugin/head/)
1. 下載中文分詞器:[https://github.com/medcl/elasticsearch-analysis-ik/releases?after=v5.6.4](https://github.com/medcl/elasticsearch-analysis-ik/releases?after=v5.6.4) 的zip包,并解壓后重新壓縮為.tar.gz文件
2. 上傳后拷貝到容器中:docker container cp elasticsearch-analysis-ik-1.10.6.tar.gz elasticsearch:/usr/share/elasticsearch/plugins
3. 進(jìn)入容器壓縮文件所在目錄:docker exec -it elasticsearch /bin/bash
4. 進(jìn)行解壓操作:tar -xvf elasticsearch-analysis-ik-1.10.6.tar.gz
5. 重新啟動容器:docker restart elasticsearch
6. 測試:
* 訪問header插件:打開地址[http://192.168.1.66:9200/_plugin/head/]
* 選擇復(fù)合查詢,輸入地址:POST:[http://192.168.1.66:9200/_analyze]
* 輸入?yún)?shù):JSON:{"analyzer":"ik","text":"我們是大數(shù)據(jù)開發(fā)人員"}
maven構(gòu)建鏡像
command:mvn clean package docker:build
tip: Linux服務(wù)器需要開啟遠(yuǎn)程api:
vi /usr/lib/systemd/system/docker.service
修改為:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
商城項(xiàng)目啟動
docker run -p 8080:8080 --name mall-admin --link mysql:db -v /etc/localtime:/etc/localtime -v /mydata/app/admin/logs:/var/logs -d mall/mall-admin:0.0.1-SNAPSHOT
docker run -p 8081:8081 --name mall-search --link elasticsearch:es --link mysql:db -v /etc/localtime:/etc/localtime -v /mydata/app/search/logs:/var/logs -d mall/mall-search:0.0.1-SNAPSHOT
docker run -p 8085:8085 --name mall-portal --link mysql:db --link redis:redis --link mongo:mongo -v /etc/localtime:/etc/localtime -v /mydata/app/portal/logs:/var/logs -d mall/mall-portal:0.0.1-SNAPSHOT