Docker安装一些基础组件

Docker安装一些基础组件

安装mysql

docker官网地址

https://hub.docker.com/_/mysql

基础镜像

拉取镜像
docker pull mysql:5.7.31

备份镜像

docker save mysql:5.7.31 -o mysql.5.7.31.tar

导入镜像

docker load -i mysql.5.7.31.tar
运行镜像

学习docker run -e参数

  • -e , --env=[]:设置环境变量,容器中可以使用该环境变量
  • 官网中给出进入容器的第三种方式,前边我们学习了/bin/bash,sh
  • 向my.cnf文件中追加相关配置项
docker run -itd --name mysql --restart always --privileged=true -p 3306:3306 -e
MYSQL_ROOT_PASSWORD=admin mysql:5.7.31 --character-set-server=utf8 --collation server=utf8_general_ci

privileged参数

我们大多数熟悉 Unix 类系统的人,都习惯于通过使用 sudo 来随意提升自己的权限,成为 root 用户。 我们在使用 Docker 容器的过程中知道,docker提供了一个 --privileged 的参数,其实它与随意使用 sudo 有很大的不同,它可能会让你的应用程序面临不必要的风险,下面我们将向你展示这与以 root 身 份运行的区别,以及特权的实际含义。

作为 Root 运行

Docker 允许在其宿主机上隔离一个进程、capabilities 和文件系统,但是大多数容器实际上都是默认以 root 身份运行。这里我们拿 DockerHub 上几个比较流行的镜像来进行说明。

避免以 root 运行

虽然在容器内以 root 身份运行是很正常的,但如果你想加固容器的安全性,还是应该避免这样做。

特权模式

--privileged 可以不受限制地访问任何自己的系统调用。在正常的操作中,即使容器内有 root, Docker 也会限制容器的 Linux Capabilities 的,这种限制包括像 CAP_AUDIT_WRITE 这样的东西,它允 许覆盖内核的审计日志–你的容器化工作负载很可能不需要这个 Capabilities。所以特权只应该在你真正 需要它的特定设置中使用,简而言之,它给容器提供了几乎所有主机(作为root)可以做的事情的权

本质上,它就是一个免费的通行证,可以逃避容器所包含的文件系统、进程、sockets 套接字等,当然 它有特定的使用场景,比如在很多 CI/CD 系统中需要的 Docker IN Docker 模式(在 Docker 容器内部 需要 Docker 守护进程),以及需要极端网络的地方。

容器内测试

在容器内测试mysql

进入容器:根据官网上的实例,使用bash命令进入容器
docker exec -it mysql bash
登录mysql
mysql -uroot -p
输入密码
admin
use mysql;
show databases;
退出mysql
exit
退出容器
exit

SQLYog客户端测试

IP:192.168.198.100
username:root
password:admin
port:3306

安装nginx

docker官网地址
https://hub.docker.com/_/nginx
基础镜像配置
# 拉取镜像
docker pull nginx:1.19.3-alpine
# 备份镜像
docker save nginx:1.19.3-alpine -o nginx.1.19.3.alpine.tar
# 导入镜像
docker load -i nginx.1.19.3.alpine.tar
运行镜像
docker run -itd --name nginx -p 80:80 nginx:1.19.3-alpine 

# 进入容器 
docker exec -it nginx sh 

# 查看html目录 
cd /usr/share/nginx/html 

# 配置文件目录 
cat /etc/nginx/nginx.conf
浏览器测试
这里根据自己的部署环境在浏览器中输入地址验证即可
http://172.16.16.36/

img

image.png

安装tomcat

docker官网地址
https://hub.docker.com/_/tomcat?tab=tags
基础镜像配置
# 拉取最新版本
docker pull tomcat
# 拉取某个指定版本
docker pull tomcat:8.5.77-jre8-openjdk-slim-buster
单机版运行镜像
# -p 8080:8080:将主机的 8080 端口映射到容器的 8080 端口。
# -v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的 test 挂载到容器的 /test。
docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat 

安装zookeeper

docker官网地址
https://hub.docker.com/_/zookeeper
基础镜像配置
# 拉取镜像
docker pull zookeeper:3.6.2
# 备份镜像
docker save zookeeper:3.6.2 -o zookeeper.3.6.2.tar
# 导入镜像
docker load -i zookeeper.3.6.2.tar
单机版运行镜像
docker run -itd --name zookeeper --restart always -p 2181:2181 zookeeper:3.6.2 
docker exec -it zookeeper /bin/bash 

# 查看版本信息
 cat /etc/issue
# 返回信息,这里可以看到这个zk是基于Debian10的版本
Debian GNU/Linux 10 \n \l
测试容器

这里要用到ZooInspector,我们需要在自己本机下异性这个工具,下载地址:

https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip

进入目录ZooInspector\build,运行zookeeper-dev-ZooInspector.jar。

java -jar zookeeper-dev-ZooInspector.jar

点击左上角连接按钮,输入zk服务地址:ip或者主机名:2181。点击OK,即可查看ZK节点信息。

img

image.png

img

image.png

安装activeMQ

docker官网

activeMQ没有官方镜像版本。需要使用第三方制作镜像,我们学完docker技术后,可以自行制作属于自己的activeMQ镜像。

https://hub.docker.com/r/webcenter/activemq
基础镜像配置
# 拉取镜像
docker pull webcenter/activemq:5.14.3
# 备份镜像
docker save webcenter/activemq:5.14.3 -o webcenter.activemq:5.14.3.tar
# 导入镜像
docker load -i webcenter.activemq:5.14.3.tar
单机版运行镜像

61616为ActiveMQ的外部访问端口, 8161为web页面访问端口

docker run -itd --name activmq --restart always -p 61616:61616 -p 8161:8161 
webcenter/activemq:5.14.3 

docker exec -it activmq /bin/bash 

cat /etc/issue 
# 返回信息: 
Ubuntu 15.10 \n \l

4.3.tar


##### 单机版运行镜像

61616为ActiveMQ的外部访问端口, 8161为web页面访问端口



```bash
docker run -itd --name activmq --restart always -p 61616:61616 -p 8161:8161 
webcenter/activemq:5.14.3 

docker exec -it activmq /bin/bash 

cat /etc/issue 
# 返回信息: 
Ubuntu 15.10 \n \l

http://events.jianshu.io/nb/46793428)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

管程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值