docker指令汇总

1.docker

1.1 docker核心概念

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

1.2 安装docker (ubnutu 18)

这种安装方式首先要保证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  
更多命令 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安装

docker安装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

1.4.3.1 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

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

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

1.4.4 构建自己的镜像

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"]    

1.4.5 使用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 .

1.4.6 进入docker容器

docker exec -ti 容器ID /bin/bash

1.4.7 push镜像到dockerhub

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

1.4.8 docker-compose-file ,env-file

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

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

1.4.9 .jenkins push代码后构建

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.10 腾讯云 centos7 安装docker

安装
1.使用root权限登陆系统。
2.更新系统包到最新。
# yum -y update

3.执行Docker安装脚本
# curl -sSL https://get.docker.com/ | sh
# yum install -y docker-selinux

这个脚本会添加docker.repo 配置并安装Docker。
4.启动Docker
# systemctl start docker.service

1.4.11  redis主备搭建

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

1.4.12 zk集群搭建

https://www.jianshu.com/p/98bb69256cc3

1.4.13  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每一分钟同步一次
原文地址:https://www.cnblogs.com/hlkawa/p/9742015.html