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