docker容器互连

三种方式

1.使用容器连接的示例如下:

$ docker run --name some-app --link itbilu-mysql:mysql -d application-that-uses-mysql

注意:以上示例中的application-that-uses-镜像并不存在,仅为操作演示,下同。

除了进行容器连接的方式在其它容器中访问MySQL服务器容器外,还可以通过以下两种方式访问MySQL数据库服务器容器:

2.在创建MySQL服务器容器实例时通过-p-P参数将数据库服务器端口映射到宿主机,再直接通过宿主机进行访问。这种方式较为简单,但需要向外暴露数据库端口。

3.能过Docker网络(Networking)进行连接。这种方式操作较为复杂,但更为灵活,可以适用于更加复杂的网络环境。

1.9版本之前推荐用--link 1.9版本之后推荐用dockering network

创建自己的容器:
建个目录,写个Dockerfile
FROM nimmis/apache
 
MAINTAINER nimmis <kjell.havneskold@gmail.com>
 
# disable interactive functions
ENV DEBIAN_FRONTEND noninteractive
 
RUN apt-get update && 
apt-get install -y php libapache2-mod-php 
php-fpm php-cli php-mysqlnd php-pgsql php-sqlite3 php-redis 
php-apcu php-intl php-imagick php-mcrypt php-json php-gd php-curl && 
phpenmod mcrypt && 
rm -rf /var/lib/apt/lists/* && 
cd /tmp && curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
COPY 000-default.conf /etc/apache2/sites-enabled/000-default.conf
 
运行命令:
docker build -t saas

生成了一个镜像saas

 
创建docker网络
docker network create saas_network

查看docker网络

docker network ls
docker network inspect saas_network
 -p 8081:80 表示将docker 80端口映射到宿主机8081端口 --name 命名容器
docker run -d -p 8081:80 --name saas-os --network=saas_network -v /var/www/html/SaasOS:/var/www/html saas
docker run -d --name saas-mysql --network=saas_network -e MYSQL_ROOT_PASSWORD=saaspwd mysql:5.6.40
 进入一个容器的bash:
docker exec -it saas-os bash
 

原文地址:https://www.cnblogs.com/mikeluwen/p/9379286.html