1.安装docker
https://blog.csdn.net/wangmx1993328/article/details/81671880
1、uname ‐r 查看内核版本
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
2、安装docker
yum install docker
3、输入y确认安装
4、启动docker
[root@localhost ~]# systemctl start docker
启动后可以查看一下版本
[root@localhost ~]# docker ‐v
Docker version 1.12.6, build 3e8e77d/1.12.6
5、开机启动docker
[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi‐user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
6、停止docker
systemctl stop docker
2.常用命令
- 搜索镜像
docker search 关键词
#eg: docker search redis
- 拉取镜像
docker pull 镜像名:tag
#(:tag是可选的,tag表示标签,多为软件的版本,默认 是latest)
# eg: docker pull nginx(docker pull nginx:1.17.1)
- 查询所有镜像
docker images
- 删除镜像
docker rmi 镜像id
- 查询所有容器
docker ps
- 查询启动的容器
docker ps -a
- 删除容器
docker rm 容器id
- 开启容器
docker start 容器id
- 关闭容器
docker stop 容器id
- 关闭所有容器
docker stop $(docker ps -a -q)
- 移除所有容器
docker rm `docker ps -a -q`
- 应对挂载权限拒绝
--privileged=true
- 将容器保存为镜像
docker commit 容器名 镜像名
eg:docker commit nginx nginx_img
- 镜像备份:
docker save -o xxx.tar xxx镜像
eg: docker save -o nginx.tar nginx
- 镜像的恢复
可以通过以下指令将上面的备份镜像还原
docker load -i nginx.tar
- 宿主机向容器拷贝文件
docker cp /ik-analyzer cc218e657b3f:/usr/share/elasticsearch/plugins
- 容器向宿主机拷贝文件
docker cp cc218e657b3f:/usr/share/elasticsearch/plugins /ik-analyzer
- 启动容器后再设置开机启动(xxx为镜像id)
docker update --restart=always xxx
3.进入容器
3.1 查看容器id
docker ps
3.2 进入指定容器(以Nginx为例)
docker exec -it 容器id /bin/bash
image.png-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
3.3查看容器内容
ls - l
容器内容
3.4查看配置文件
cd etc/nginx/conf.d/
image.png
3.5退出镜像
exit
image.png
4. docker 挂载方式安装nginx举例
4.0 拉取镜像
docker pull nginx
4.1创建挂载目录
mkdir -p /data/nginx/{conf,conf.d,html,logs}
4.2以挂载方式启动容器
docker run --privileged=true --name=nginx81 -p 81:80 -v /data/nginx/conf:/etc/nginx -v /data/nginx/html/:/usr/share/nginx/html -d nginx
5.docker中安装nginx+fastdfs镜像
参考:https://blog.csdn.net/tttzzztttzzz/article/details/86709318
https://www.cnblogs.com/yanwanglol/p/9860202.html
docker run -d --restart=always --privileged=true --net=host --name=fastdfs -e IP=192.168.43.128 -e WEB_PORT=80 -v ${HOME}/fastdfs:/var/local/fdfs -v /data/nginx/conf.d/default.conf:/usr/local/nginx/conf/nginx.conf.default -v /data/nginx/html/:/usr/local/nginx/html registry.cn-beijing.aliyuncs.com/tianzuo/fastdfs
6.docker安装ElasticSearch镜像
#docker run -d --restart=always --privileged=true -v /data/elasticsearch/config:/usr/share/elasticsearch/config -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name elasticsearch 5acf0e8da90b
docker run --restart=always --name elasticsearch -d -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 01e5bee1e059
图片.png指令说明:
1.-e ES_JAVA_OPTS="-Xms256m -Xmx256m" :如果不指定的话会es会占用比较大的内存
2.-p 9200:9200 -p 9300:9300 :9200为es端口号,9300为集群通信端口号
3.5acf0e8da90b : 镜像id
安装后测试,出现以下结果代表安装成功(ip写自己的!!)
6.1 kibana下载地址
https://www.elastic.co/cn/downloads/past-releases#kibana
kibaba的docker镜像安装
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.176.111:9200 -p 5601:5601 -d kibana:7.4.2
6.2 elasticsearch-analysis-ik下载地址
https://github.com/medcl/elasticsearch-analysis-ik/releases
6.3 安装elasticsearch-head
https://www.cnblogs.com/szwdun/p/10663813.html
6.4 Elasticsearch 配置用户名和密码
https://blog.csdn.net/weixin_43315211/article/details/99677072
https://blog.csdn.net/qq_29553063/article/details/95014006
6.5 elasticsearch-head 以密码访问
修改配置文件elasticsearch.yml,增加
http.cors.allow-headers: Authorization
访问head时,url如下所示:
http://192.168.100.100:9100/?auth_user=elastic&auth_password=changeme
6.6 Elasticsearch 6.x head 请求头 Content-Type 设置
https://blog.csdn.net/A_Story_Donkey/article/details/84135475
7.docker安装rabbitmq镜像(docker pull rabbitmq:management)
docker run -d --restart=always --name rabbitmq -p 5672:5672 -p 15672:15672 e58249ecc163
说明:
-p 15672:15672 图形化界面访问的端口号
8.docker安装redis
docker run -d --restart=always --name redis -p 6379:6379 redis --requirepass "mypassword"
9.docker安装MongoDB
docker run --restart=always --privileged=true -p 27017:27017 -v /tmp/db:/data/db -d mongo
启动MongoDB容器后,其配置文件中未只允许本地访问,我们需要修改为允许远程访问
#进入容器
docker exec -it f9ddebfbd1f1 /bin/bash
#更新源
apt-get update
# 安装 vim
apt-get install vim
# 修改 mongo 配置文件
vim /etc/mongod.conf.orig
#注释掉`# bindIp: 127.0.0.1` 或者改成`bindIp: 0.0.0.0` 即可开启远程连接
进入容器后在执行了mongo指令后就可以使用MongoDB的常用指令了
mongo
创建用户
# 进入 admin 的数据库
use xc_cms
# 创建管理员用户
db.createUser(
{
user: "root",
pwd: "root",
roles: [ { role: "dbAdmin", db: "xc_cms" } ]
}
)
# 创建有可读写权限的用户. 对于一个特定的数据库, 比如'demo'
db.createUser({
user: 'test',
pwd: '123456',
roles: [{role: "read", db: "demo"}]
})
设定对用户认证
db.auth("root","root");
10.docker安装mysql
docker run -d --restart=always --name=mysqldb -p 3306:3306 --env="MYSQL_ROOT_PASSWORD=root" centos/mysql-57-centos7
10.1 docker安装mysql实例,并新建用户和外网连接
一:
docker search mysql 查找mysql镜像
docker pull mysql 拉取镜像
docker images 查看已拉取的镜像
docker images |grep mysql 查看已拉取的镜像
docker ps 查看容器启动情况
使用mysql镜像
运行容器
docker run --name mysqlkaige -p 3309:3306 -e MYSQL_ROOT_PASSWORD=chenkai! -d 镜像id
#进入容器
docker exec -it mysql容器id bash
#登录mysql
mysql -u root -p
#输入密码:chenkai!
#添加远程登录用户
CREATE USER 'kaidd'@'%' IDENTIFIED WITH mysql_native_password BY 'chenkai123!';
GRANT ALL PRIVILEGES ON *.* TO 'kaidd'@'%';
退出mysql: ctrl+d
退出容器: ctrl+P+Q
启动某个容器:docker start 容器id
停止某个容器:docker stop 容器id
11.docker安装logstash
https://blog.csdn.net/qq_42082701/article/details/98469545
https://blog.csdn.net/sgrrmswtvt/article/details/88813571
12.常见问题
容器中无法使用vim
image.png1.更新来源
apt-get update(在docker里安装软件的时候报这个错误,是因为你用centos的镜像,需要用yum代替apt-get)
2.安装vim
apt-get install vim
3.docker中maven找不到本地依赖
https://www.cnblogs.com/yy-cola/p/9664598.html
网友评论