Docker相关部署

Docker安装Nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1.搜索镜像 docker search nginx
2.下载镜像 docker pull nginx
3.运行测试
[root@163 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 19 months ago 141MB
centos latest 5d0da3dc9764 22 months ago 231MB
-d 后台运行(停止了容器后,容器还可以查到)
--name 给容器命名
-p 宿主机:容器内部端口
[root@163 ~]# docker run -d --name nginx01 -p 3344:80 nginx
bb07f6e55670b129a14434aae3a9422cf3f7091f2d3079a5f96005613a909993
[root@163 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb07f6e55670 nginx "/docker-entrypoint.…" 9 seconds ago Up 8 seconds 0.0.0.0:3344->80/tcp, :::3344->80/tcp nginx01
[root@163 ~]# curl localhost:3344

4.进入容器
[root@163 ~]# docker exec -it nginx01 /bin/bash
root@bb07f6e55670:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@bb07f6e55670:/# cd /etc/nginx
root@bb07f6e55670:/etc/nginx# ls
conf.d mime.types nginx.conf uwsgi_params
fastcgi_params modules scgi_params
root@bb07f6e55670:/etc/nginx#

Docker安装Tomcat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#官方使用
docker run -it --rm tomcat:9.0
docker run -it --rm一般用于测试,用完立即删除

#下载再使用
docker pull tomcat:9.0

#启动运行
docker run -d -p 3355:8080 --name tomcat01 tomcat
#测试访问没有问题

#进入容器
[root@163 ~]# docker exec -it tomcat01 /bin/bash
#发现问题,1.1inux命今少了,2.没有webapps 阿里云镜像的原因。默认是最小的镜像,所有不必要的都被剔除掉。保证最小可运行的环境

部署es+kibana

1
2
3
4
5
6
7
8
9
10
11
12
13
--net somenetwork  网络配置
#启动
docker run -d --name elasticsearch (--net somenetwork) -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.8.1

# 启动了 1inux就卡住了
# es 暴露的端口很多!
# es 十分的耗内存
# es 的数据一般霉要放置到安全目录!挂载
#docker stats 查看 cpu的状态
#测试一下es构建是否成功
curl localhost:9200
#马上关闭,增加内存限制 修改配置文件 -e 环境配置修改
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:8.8.1

安装vim

1
apt-get install vim

安装php和php插件

1
2
3
apt-get install php -y
apt-get install libapache2-mod-php -y --fix-missing
apt-get install php7.0-mysql

可视化

什么 portainer ?
Docker图形化界面管理工具!提供一个后台面板供我们操作 !

1
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

访问测试:端口打开8088 访问http://ip:8088/

commit镜像

1
2
3
4
5
6
7
8
9
10
docker commit 提交容器成为一个新的副本

#命今和git原理类似
docker commit -m="提交的描述信息”-a="作者”容器id 目标镜像名:[TAG]

实战测试
# 1、启动一个默认的tomcat
# 2、发现这个默认的tomcat 是没有webapps应用,镜像的原因,官方的镜像默认 webapps下面是没有文件的!
# 3、我自己拷贝进去了基本的文件
# 4、将我们操作过的容器通过commit提交为一个境像! 我们以后就使用我们修改过的镜像即可,这就是我们自己的一个修改的镜像