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
 

posted @ 2018-07-27 19:06  行知散人  阅读(289)  评论(0编辑  收藏  举报