Docker 容器操作 (3)

2023-05-06  本文已影响0人  虐心笔记

什么是 docker 容器?

docker 容器是一种轻量级、可移植、自包含的软件执行环境。有文件系统、网络配置和运行库,可以在任何支持 docker 的平台上运行。与传统虚拟化技术(如 virtualbox 或 vmware)不同,在 docker 中创建的容器与宿主机共享同一个内核。这使得 docker 容器更加轻量级、快速启动和停止,更方便部署在云端或本地服务器上。

docker 容器的优势


基本操作

Docker 容器使用一系列的命令来管理容器,这些命令的结构大致分为:

$ docker [OPTIONS] COMMAND [ARG...]

例如,使用 docker container run 命令创建一个新容器时,命令结构为:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
运行状态
常用命令

案例1:创建一个 sonarqube 容器并运行

步骤一:docker hub 查看sonarqube 的容器运行相关命令

$ docker run --name sonar -p 9000:9000 -d sonarqube

命令解读

如果创建过程中出现以下错误:

docker: Error response from daemon:driver failed programming external connetivity on endpoint 

因为上述环境是在Windows系统的VM虚拟机搭建的docker环境,如果需要主机访问虚拟机中的sonarqube服务,则需要通过VM机设置NAT模式共享主机IP,这种情况下主机与虚拟机是通过防火墙进行路由IP的,而一开始在环境搭建的时候,防火墙都是关闭状态.所以就需要开启防火墙.开启对应的端口.然后重启防火墙和docker服务才能使配置生效.

# 1.检查端口是否占用
$ netstat -tunlp | grep 9000

# 2.检查端口放行情况,如果端口未打开则需要防火墙开放指定端口
$ firewall-cmd --list-all --zone=trusted

# 3.重启防火墙
$ firewall-cmd --reload

# 4.重启docker
$ systemctl restart docker

# 5.创建并运行sonarqube
$ docker run --name sonar -p 9000:9000 -d sonarqube

案例2: 进入sonar 容器,修改 conf 配置信息

步骤一: 以命令行交互的方式进入容器

$ docker exec -it sonar bash

命令解读:

步骤二:进入sonarqube的配置文件目录

$ cd /opt/sonarqube/conf

步骤三: 修改 soanr.properties 文件信息

# 注意因为容器内部初始化并没有vi相关命令,这里通过sed操作文件修改
$ sudo sed -i 's/#sonar.jdbc.url=jdbc:postgresql://localhost/sonar.jdbc.url=jdbc:postgresql://192.168.1.100/g' /path/to/sonar.properties
# 上述命令将把注释行 #sonar.jdbc.url=jdbc:postgresql://localhost 更改为未注释的行 sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube

以上从案例2可以看出,如果想对容器的相关信息进行修改,非常的不方便,需要进入容器内部进行操作,而且可以发现这种操作的数据不是持久化,当容器再次运行之前的配置信息不会被保存。
容器与数据高度耦合。不便于修改,数据不可复用,升级维护困难。后续将通过数据卷挂载的形式解决

上一篇 下一篇

猜你喜欢

热点阅读