Docker指令及常用软件安装汇总

我个人推荐smart work, 在我的team从来不鼓励加班,所以如何做高效工作呢,那就是高效利用我们的开发工具,只有熟练的使用武器才能给你减少时间上的浪费,从而带来一些时间增益。下面我这边将汇总一些常用工具快捷键,可以提高我们工作效率;

1. VIM编辑器指令汇总

2. Ubuntu常用指令汇总

3. Docker常用指令汇总  

4. IDEA常用快捷键汇总

5. VsCode常用快捷键汇总

6. Win10常用快捷键汇总

7. Chrome常用快捷键汇总

 

建议所有的快捷键每个季度花一个小时复习一遍,直到完全被你的手指记住~

1.Docker

1.1 docker核心概念

docker主机(Host):安装了docker程序的机器。docker直接安装再操作系统上。
docker客户端(Client):连接docker主机进行操作。
docker仓库(Registry):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用。

1.2 安装docker (ubnutu)

这种安装方式首先要保证Ubuntu服务器能够访问Docker仓库地址:https://download.docker.com/linux/ubuntu,如果能够访问,按照下面的操作步骤进行安装。
$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
在/etc/apt/sources.list.d/docker.list文件中添加下面内容
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
添加秘钥
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
安装docker-ce
$ sudo apt install docker-ce
查看是否安装成功:
$ docker --version
Docker version 18.03.0-ce, build 0520e24

1.3 docker常用操作

1.3.1 docker 启动 停止 重启操作

启动         systemctl start docker
重启docker   systemctl restart  docker
关闭docker   systemctl stop docker

1.3.2 docker镜像操作

操作命令说明
检索 docker serach 关键字 eg:docker search redis 我们经常去docker上检索镜像详细信息,如镜像的TAG.
拉取 docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest
列表 docker images 查看所有本的镜像
删除 docker rmi image-id 删除制定的本地镜像

docker镜像仓库:https://hub.docker.com/

1.3.3 docker容器操作

操作命令说明
运行 docker run -name container -name -d image-name eg: docker run -name myredis -d redis -name: 自定义容器名 -d:后台运行 image-name:指定镜像模板
列表 docker ps(查看运行中的容器) 加上-a 可以查看所有容器
停止 docker stop container-name/container-id  
启动 docker start container-name/container-id  
删除 docker rm container-id  
端口映射 -p 6379:6379 eg:docker run -d -p 6379:6379 -name myredis docker.io/redis -p: 主机端口(映射到)容器内部的端口
容器日志 docker logs container-name/container-id  
进入容器
docker exec -ti container-id /bin/bash
 
更多命令 https://docs.docker.com/engine/reference/commandline/docker/  

1.4 docker安装应用

1.4.1 安装msql

查看mysql > docker search mysql  
下载mysql > docker pull mysql
查看已经下载的镜像 > docker images
启动mysql加上端口映射
>docker run -p 3306:3306 --name brian_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
停止myswl > docker stop contioner-id
mysql的一些高级操作:https://hub.docker.com/_/mysql/

1.4.2安装oracle

启动
docker run --name brian_oracle -d -p 1522:22 -p 1521:1521 ee3351d51185
docker run brian_oracle -d 

1.4.3 安装gitlab

安装gitlab---------------
docker run --name brian_gitlab -d -p 10010:80 -p 2222:22 -p 8433:433 991cd608c116 
​
angular 与gitlab实现 ci/cd-----
https://juejin.im/post/5bc3e8e66fb9a05ce37b1fd8

gitlab runner安装------------
1.https://blog.csdn.net/frankcheng5143/article/details/79838414
2.runner 负责编译  到指定路径下,然后用nginx跑前端代码
更改nginx默认端口,ubuntu更改nginx端口号
==>https://blog.csdn.net/w20101310/article/details/78835668
3.runner 权限不足的问题-----
gitlab runner默认运行时user mode,想提升权限,只需要运行gitlab runner 的时候使用sudo即可。
==> sudo gitlab-runner stop /start

 docker容器中 gitlab 修改HTTP连接方式中的IP和端口--------------

https://blog.csdn.net/xiaoxiangzi520/article/details/81145180
我这边是配置的域名

1.4.4  安装zookeeper

docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

zk cluster搭建------------------------
https://www.jianshu.com/p/98bb69256cc3

1.4.5 安装Kafka

docker run --name brian_kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.0.102:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.102:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-d  wurstmeister/kafka  

#我安装的kafka对应版本 kafka_2.13-2.7.0
当然如果你不想基于Docker按装,只想在ubuntu上安装 可以参考:https://towardsdatascience.com/install-a-kafka-cluster-on-ubuntu-in-aws-17c951287284

如果上面的指导不够全面可以去参考官网的方法:https://docs.confluent.io/platform/current/quickstart/ce-quickstart.html#ce-quickstart

如果你感觉本地搭建太费而且本地资源不够搭建kafka服务, 这里有个免费的kafka的服务可以使用一个月: https://medium.com/swlh/a-free-apache-kafka-cloud-service-and-how-to-quickly-get-started-with-it-8f14520fff35

此外这里还有一个懒人版的开源的kafka server flatform:https://docs.confluent.io/platform/current/quickstart/ce-quickstart.html#ce-quickstart
基于docker安装的快速测试 kafka topic------------------------------
the test topic: brian_t
1. 进入kafka docker 容器
sudo docker exec -i -t ${CONTAINER ID} sh 

2.
进入kafka默认目录
cd opt/kafka

3.创建一个topic
bin/kafka-topics.sh --create --zookeeper ${IP}:2181 --replication-factor 1 --partitions 1 --topic brian_t

4.创建一个procuder
bin/kafka-console-producer.sh --broker-list ${IP}:9092 --topic brian_t

5.创建一个consumer
bin/kafka-console-consumer.sh --bootstrap-server ${IP}:9092 --topic brian_t --from-beginning

1.4.6 安装ElasticSearch

1. Elasticsearch 版本6.4.3
docker run -d -p 9200:9200 -p 9300:9300 --name brian_es elasticsearch:6.4.3
​
安装会报错:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
​
解决方案:
使用下面命令解决:
vi /etc/sysctl.conf
添加 一行 vm.max_map_count=655360
​
执行 sysctl -p
重启 es服务
web访问地址:127.0.0.1:9200
​
v5.x以后不支持plugin需要独立部署
​
安装
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start

1.4.7 安装ELK(版本643)

docker pull sebp/elk:643
​
docker run -d -p 5044:5044 -p 127.0.0.1:5601:5601 -p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 --name=brian_elk 2a058ea9c018
​
Kibana访问地址:127.0.0.1:5601
​
访问容器 
logstach位置 /opt/logstash/
​
输入源配置文件位置:/usr/local/sql
​
更新logstash引入 配置 pipeline.yml

1.4.8 安装Portainer

docker run -d -p 9000:9000 \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    --name brian_portainer portainer/portainer-ce
​
docker start brian_portainer
访问页面:http://IP:9000

1.4.9 安装Nacos

docker run 
--env MODE=standalone
--env SPRING_DATASOURCE_PLATFORM=mysql
--env MYSQL_MASTER_SERVICE_DB_NAME=nacos_config
--env MYSQL_MASTER_SERVICE_HOST=140.143.218.23
--env MYSQL_MASTER_SERVICE_PORT=10121
--env MYSQL_MASTER_SERVICE_USER=root
--env MYSQL_MASTER_SERVICE_PASSWORD=kawakkkkk
--env MYSQL_SLAVE_SERVICE_HOST=140.143,218.23
--env MYSQL_SLAVE_SERVICE_PORT=10121
--env MYSQL_MASTER_SERVICE_DB_NAME=nacos_config
--name brian_nacos -d -p 8848:8848 nacos/nacos-server

 

1.4.10 build mage and push image to docker hub

1、将jar包上传linux服务器/usr/local/dockerapp目录,在jar包所在目录创建名为Dockerfile的文件

2、在Dockerfile中添加以下内容

 ###指定java8环境镜像   
 FROM java:8   
 ###复制文件到容器app-springboot   
 ADD   docker-jrx-0.0.1.war  /jrxappserver-0.0.1-SNAPSHOT.war
 ###声明启动端口号   
 EXPOSE 8080   
 ###配置容器启动后执行的命令   
 ENTRYPOINT   ["java","-jar","/jrxappserver-0.0.1-SNAPSHOT.war"]    


使用docker build指令构建镜像-------------------------------------
docker build -t docker-jrx-0.0.1 .
# 格式: docker build -t 镜像名称:标签 Dockerfile的相对位置
docker run -d -p 8080:8080 docker-jrx-0.0.1 .

push image to docker hub----------------------------------------
push前需要打tag标签,我中hub仓库为dockerszhuangl1991
docker tag imageid dockerszhuangl1991/serviceName:0.0.1。

1.4.11 docker-compose-file ,env-file

https://docs.docker.com/compose/compose-file/

https://docs.docker.com/compose/env-file/

1.4.12  push代码后jenkins构建 image

1.配置push代码后构建 (主要是配置WebHooks 设置)
https://blog.csdn.net/guanshulixiao/article/details/76174731

2.build 前端angular (依赖node环境) 配置node环境
https://www.jianshu.com/p/0a865a321d78
    
3. build 后端springboot springclod
使用maven打包项目,项目配置找到构建,下拉找到调用顶层Maven目标,目标这个选项就是要打包的指令 (test,package,install....)

4. build docker 镜像
5. 自动push 镜像到 docker hub

1.4.13  redis主备搭建

主机的 redis 命令行:SLAVEOF 主机IP 主机port

1.4.14  elk - logstashh同步MySQL数据

1. docker cp 拷贝 ***.conf 到/usr/local/sql/aaa.conf 文件夹下
2. vim 到 config/pipelines.yml 添加
- pipeline.id: table1
  path.config: "/usr/local/sql/aaa.conf"
3. 重启ELK项目 logstash每一分钟同步一次
posted @ 2018-10-04 12:45  Brian_Huang  阅读(840)  评论(0编辑  收藏  举报