持續(xù)更新ing......
Base
安裝
通過yum倉庫安裝
- yum install -y yum-utils
- yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 設(shè)置倉庫地址
- yum install docker-ce docker-ce-cli containerd.io 安裝最新版
- systemctl start docker 啟動
- systemctl enable docker 開機(jī)自啟
命令
docker images 所有鏡像
docker exec -it [id] /bin/sh 進(jìn)入容器命令行
docker rmi [id] 刪除鏡像
docker rm [id] 刪除容器
docker ps 查看正在運(yùn)行容器
docker stop [id] 停止容器
docker cp [containerid]:[src] [dest]
參數(shù)
-d 后臺運(yùn)行容器态坦;
--name 指定容器名;
-p 指定服務(wù)運(yùn)行的端口(5672:應(yīng)用訪問端口棒拂;15672:控制臺Web端口號)伞梯;
-v 映射目錄或文件玫氢;
--hostname 主機(jī)名(RabbitMQ的一個重要注意事項(xiàng)是它根據(jù)所謂的 “節(jié)點(diǎn)名稱” 存儲數(shù)據(jù),默認(rèn)為主機(jī)名)谜诫;
-e 指定環(huán)境變量漾峡;(RABBITMQ_DEFAULT_VHOST:默認(rèn)虛擬機(jī)名;RABBITMQ_DEFAULT_USER:默認(rèn)的用戶名喻旷;RABBITMQ_DEFAULT_PASS:默認(rèn)用戶名的密碼)
--restart=always 容器自啟動
Mysql
docker pull mysql:5.7
docker run --restart=always -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
Nginx
docker pull nginx
docker run --restart=always --name nginx -p 80:80 -v /C/nginx.conf:/etc/nginx/conf.d -d nginx
docker run --name nginx -p 80:80 -v /workplace/nginx.conf:/etc/nginx/conf.d -v /workplace/nginx.log:/var/log/nginx -d nginx
RabbitMQ
docker pull rabbitmq:3.7.7-management
docker run --restart=always -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v pwd
/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin df80af9ca0c9
Nacos
簡易版:
docker pull nacos/nacos-server
docker run --restart=always --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
Gitea
docker pull gitea/gitea
docker run --restart=always -d --name=gitea -p 10022:22 -p 10080:3000 gitea/gitea
注意端口
Jenkins
docker pull jenkinsci/blueocean
docker run --restart=always --name=jenkins -d -p 8080:8080 -p 50000:50000 jenkinsci/blueocean
Redis
docker pull redis
docker run --name redis -p 6379:6379 -d redis
設(shè)置密碼
1.進(jìn)入redis的容器 docker exec -it 容器ID bash
2.進(jìn)入redis目錄 cd /usr/local/bin
3.運(yùn)行命令:redis-cli
4.查看現(xiàn)有的redis密碼:config get requirepass
5.設(shè)置redis密碼config set requirepass ****(****為你要設(shè)置的密碼)
6.若出現(xiàn)(error) NOAUTH Authentication required.錯誤生逸,則使用 auth 密碼 來認(rèn)證密碼
MongoDB
docker pull mongo
docker run --name mongoDB -p 27017:27017 -d mongo --auth
docker exec -it 容器id /bin/bash
設(shè)置密碼:
mongo
use admin
db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]}) //創(chuàng)建用戶,此用戶創(chuàng)建成功,則后續(xù)操作都需要用戶認(rèn)證
exit
Seata
docker pull seataio/seata-server
docker run --name seata-server -p 8091:8091 -e SEATA_CONFIG_NAME=file:/root/seata-config/registry -v /User/seata/config:/root/seata-config seataio/seata-server
Minio
docker pull minio/minio
docker run --name minio -p 9000:9000 -p 9001:9001 -d --restart=always -e "MINIO_ACCESS_KEY=admin" -e "MINIO_SECRET_KEY=admin123456" minio/minio server /data --console-address ":9001"
管理界面:ip:9001
推送鏡像
step1——找到本地鏡像的ID:docker images
step2——登陸Hub:docker login --username=username --password=password --email=email
step3——tag:docker tag <imageID> <namespace>/<image name>:<version tag eg latest>
step4——push鏡像:docker push <namespace>/<image name>:<version tag eg latest>
鏡像打包
Dockerfile編寫
# 設(shè)置基礎(chǔ)鏡像
FROM nginx
# 定義作者
MAINTAINER Jef
# 將dist文件中的內(nèi)容復(fù)制到 /usr/share/nginx/html/ 這個目錄下面
COPY dist/ /usr/share/nginx/html/
打包
# -t 是給鏡像取名。
# 最后有一個點(diǎn) “.”且预,表示使用當(dāng)前路徑下的 dockerfile 文件槽袄,也可以指定使用其它路徑的。
docker build -t gentle-vue .
.sh
1锋谐、已驗(yàn)證nginx反向代理功能
2遍尺、git倉庫
3、jenkins CI
4涮拗、sh腳本編寫
1狮鸭、安裝docker
2、安裝nginx鏡像
3多搀、nginx conf文件配置
4、拉取各類鏡像灾部、啟動