Docker笔记

2019-07-22  本文已影响0人  慵懒的阳光丶

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
docker update --restart=always xxx

3.进入容器

3.1 查看容器id

docker ps

3.2 进入指定容器(以Nginx为例)

docker exec -it 容器id /bin/bash 

-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

image.png

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

指令说明:
1.-e ES_JAVA_OPTS="-Xms256m -Xmx256m" :如果不指定的话会es会占用比较大的内存
2.-p 9200:9200 -p 9300:9300 :9200为es端口号,9300为集群通信端口号
3.5acf0e8da90b : 镜像id
安装后测试,出现以下结果代表安装成功(ip写自己的!!)

图片.png

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

1.更新来源
apt-get update(在docker里安装软件的时候报这个错误,是因为你用centos的镜像,需要用yum代替apt-get)
2.安装vim
apt-get install vim

image.png
3.docker中maven找不到本地依赖
https://www.cnblogs.com/yy-cola/p/9664598.html
上一篇下一篇

猜你喜欢

热点阅读