我在ubuntu19.01中,使用docker-compose启动docker

在ubuntu19.01的笔记本开发环境中
1,安装docker,
2,安装docker-compose
3,下载容器镜像到本地。
4,准备数据库数据和另外一个配置远程链接权限的文件
5,配置docker-compose.yml文件,链接好文件,
6,启动后,进入容器,修改容器内的上述链接的目录和文件的所属组和所属用户
7,再重启容器,
8,查看开发的端口列表,
这时候应该就是正常了。

下边是相关过程

测试 nmap
几个和ip地址有关的地方

启动docker服务

sudo docker-compose up -d

出现错误:如果使用网络模式为host,就不会出现问题,如果出现桥接模式就报这个错误,原因是在iptables中有几个chain不存在,需要手动添加上, 在下边的图片上,有相关的命令

Creating network "dockerfile_default" with the default driver
ERROR: Failed to program FILTER chain: iptables failed: iptables --wait -I FORWARD -o br-ead7a8f77d15 -j DOCKER: iptables v1.8.3 (legacy): Couldn't load target `DOCKER':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
 (exit status 2)

Docker与iptables及实现bridge方式网络隔离与通信 https://blog.csdn.net/ystyaoshengting/article/details/102651969

在这里插入图片描述我在ubuntu19.01中,使用docker-compose启动docker_第1张图片error: SQLSTATE[08006] [7] could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432? could not connect to server: Cannot assign requested address Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432?

在这里插入图片描述容器启动后,如果是首次启动,会出现上边的错误,原因是里面的用户和宿主机的用户不一致,需要修改,这是vom处理的数据链接, 一个是目录,一个是文件, 需要修改文件所属,不然会提示上边的错误,这个错误是因为, nginx没有权限调用上边的两个文件,修改命令是
chown -R 用户:组 /ee/aa/
chown user:组 /ee/cc/a.txt

postgres   # 数据库的所属用户和所属组
www-data  # fusipbx的socker配置文件所属用户和所属组

我在ubuntu19.01中,使用docker-compose启动docker_第2张图片ubuntu ufw 防火墙使用方法

一些在主机查找系统相关服务的命令

sudo netstat -ntlp # 查看运行的服务端口
sudo ps aux | grep postgres  # 查看某个进程
sudo ps aux  # 查看所有进程
sudo service --status-all  #查看所有服务
sudo uname -a  # 查看系统版本号

由于fusionpbx的镜像,需要使用很多的端口, 使用容器的桥接模式,进行端口转发的化,难度很大,至今我没有搞成功过,所有都是使用host的网络模式,这样一来,fusionpbx的所有端口就跑到了宿主机上,那宿主机上本来的数据库服务的默认的端口就会和容器出现冲突,需要修改本机的数据库端口

sudo find / -name postgresql.conf  # 查找数据库配置文件的位置
sudo vim /etc/postgresql/11/main/postgresql.conf   # 修改端口的文件 修改过后需要重启服务
sudo systemctl restart postgresql   # 重启服务器服务

一些要使用的容器相关的命令

进入容器:#` docker exec -it centos7 /bin/bash`
查看容器列表 `docker ps`
dokcer ps -a 查询正在运行的container
docker exec -it 容器ID /bin/bash 进入容器
exit    #退出容器
sudo docker-compose restart  # 重启docker-compose
sudo docker exec -it honor-pbx /bin/bash  # 进入某个容器
sudo docker ps  # 查看运行中的docker

你可能感兴趣的:(我在ubuntu19.01中,使用docker-compose启动docker)