docker search mysql:5.7
docker pull porchn/php5.6-apache
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
卷容器实验
端口映射实验
容器互联实验
在容器里部署lnmp
找一个容器里面带有apache和php,有了这个镜像后,启动多个节点,启动三个节点,在宿主机起个数据卷,存网页的,还有个存数据库的,nignx做负载均衡,把论坛部署在目录下
三台虚拟机
192.168.132.101 192.168.132.102 192.168.132.103
101:拉取镜像
docker search mysql:5.7
docker pull porchn/php5.6-apache
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
mkdir mysqldata
[root@docker101 ~]# pwd
/root
[root@docker101 ~]# docker run --name=mysql -e MYSQL_ROOT_PASSWORD=123 -td -v /root/mysqldata/:/var/lib/mysql mysql:5.7
WARNING: IPv4 forwarding is disabled. Networking will not work.
041fb2a38d758379af442ec14eaebd8c59c9b59f46b812716ca37cf49c965e0d
[root@docker101 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
041fb2a38d75 mysql:5.7 "docker-entrypoint.s…" 19 seconds ago Up 18 seconds 3306/tcp, 33060/tcp mysql
[root@docker101 ~]# mysql -u root -p123 -h 172.17.0.2
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.34 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
MySQL [(none)]> exit
Bye
[root@docker101 ~]# ls
anaconda-ks.cfg a.sh docker-images mysqldata testsh webroot
[root@docker101 ~]# ls mysqldata/
auto.cnf ca.pem client-key.pem ibdata1 ib_logfile1 mysql private_key.pem server-cert.pem sys
ca-key.pem client-cert.pem ib_buffer_pool ib_logfile0 ibtmp1 performance_schema public_key.pem server-key.pem
容器里mysql 默认地址是:
root@041fb2a38d75:/var/lib/mysql# pwd
/var/lib/mysql
root@041fb2a38d75:/var/lib/mysql# ls
auto.cnf ca.pem client-key.pem ib_logfile0 ibdata1 mysql private_key.pem server-cert.pem sys
ca-key.pem client-cert.pem ib_buffer_pool ib_logfile1 ibtmp1 performance_schema public_key.pem server-key.pem
部署 php-apache
docker pull kinetiq/php5.6-apache
[root@docker101 webroot]# pwd
/root/webroot
[root@docker101 webroot]# cat index.html
hello i am
hello i am
[root@docker101 webroot]# cat index.php
$link=mysql_connect('172.17.0.2','root','123');
if ($link)
echo "Successfuly";
else
echo "Faile";
mysql_close();
?>
[root@docker101 webroot]# docker run -d -p 312:80 --name web -v /root/webroot/:/var/www/html kinetiq/php5.6-apache
5fc085afcff01f0b6e4ba45f069c0fc9c5a874190464f6f390d5cb1dc7aaf7d8
[root@docker101 webroot]# ls
index.html index.php
[root@docker101 webroot]# curl 172.17.0.3
hello i am
hello i am
[root@docker101 webroot]# curl 172.17.0.3/index.php
Successfuly[root@docker101 webroot]# ls
index.html index.php
导入农场 包
cd webroot
[root@docker101 webroot]# ls
farm-ucenter1.5.zip index.html index.php
unzip farm-ucenter1.5.zip
mv load/ farm
[root@docker101 webroot]# ls
farm farm-ucenter1.5.zip index.html index.php
[root@docker101 webroot]# cd farm
[root@docker101 farm]# ls
bbs home index.php install logo.jpg qqfarm.sql ucenter
[root@docker101 farm]# docker exec -it 8fc81b030f6d bash
root@8fc81b030f6d:/# find / -name php.ini
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
root@8fc81b030f6d:/# vi /etc/php5/apache2/php.ini
[root@docker101 webroot]# chmod 777 -R farm
[root@docker101 webroot]# ll
total 21700
drwxrwxrwx. 6 root root 110 Jun 12 2011 farm
-rw-r--r--. 1 root root 22212558 Jul 30 17:45 farm-ucenter1.5.zip
-rwxr-xr-x. 1 root root 36 Jul 22 07:44 index.html
-rwxr-xr-x. 1 root root 122 Jul 20 15:58 index.php
访问
http://192.168.132.101:312/farm/install/index.php
密码123
可以重新装
[root@docker101 data]# ls
avatar backup cache config.inc.php index.htm install.lock logs tmp upgrade.lock view
[root@docker101 data]# rm -rf install.lock
nginx
[root@docker101 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6fffe8ff1f64 nginx "/docker-entrypoint.…" 12 minutes ago Up 12 minutes 80/tcp nginx
bbf29e12ff0b be0d62f7651b "supervisord -c /etc…" 6 hours ago Up 3 hours 0.0.0.0:312->80/tcp, :::312->80/tcp web
1d4bf6c17bfc mysql:5.7 "docker-entrypoint.s…" 3 days ago Up 29 hours 3306/tcp, 33060/tcp mysql
[root@docker101 ~]# docker run -d --name web1 -v /root/webroot/:/var/www/html php5.6-apache2
b36f0cd7cf02903daab18d3b0a5dd9656b9f9fac6b7486b4d3c136746ac25586
[root@docker101 ~]# docker run -d --name web2 -v /root/webroot/:/var/www/html php5.6-apache2
45ea6d59e35e17f1ac4f59b0a46879182fe09939c3ea0fbcd5dd3dd9dc92b65c
[root@docker101 ~]# docker run -d --name web3 -v /root/webroot/:/var/www/html php5.6-apache2
45ea6d59e35e17f1ac4f59b0a46879182fe09939c3ea0fbcd5dd3dd9dc92b65c
[root@docker101 ~]# curl 172.17.0.5
hello i am
hello i am
[root@docker101 ~]# curl 172.17.0.5/index.php
Successfuly[root@docker101 ~]# curl 172.17.0.6/index.php
Successfuly[root@docker101 ~]# curl 172.17.0.7/index.php
Successfuly[root@docker101 ~]#
[root@docker101 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
php5.6-apache2 latest c7b58bdcb583 4 hours ago 513MB
php5.6-apache latest be0d62f7651b 5 hours ago 510MB
nginx latest 4cdc5dd7eaad 3 weeks ago 133MB
mysql 5.7 09361feeb475 5 weeks ago 447MB
kinetiq/php5.6-apache latest 664453a6acde 9 months ago 461MB
talentify/php-apache latest 8753b772e663 2 years ago 603MB
jacksonround/ansible latest 688353a31fde 4 years ago 447MB
tutum/centos latest 99a633ad346f 5 years ago 297MB
[root@docker101 ~]# docker run -d -p 8000:80 --name nginx nginx
[root@docker101 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6fffe8ff1f64 nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 80/tcp nginx
bbf29e12ff0b be0d62f7651b "supervisord -c /etc…" 5 hours ago Up 3 hours 0.0.0.0:312->80/tcp, :::312->80/tcp web
1d4bf6c17bfc mysql:5.7 "docker-entrypoint.s…" 3 days ago Up 29 hours 3306/tcp, 33060/tcp mysql
[root@docker101 ~]# docker exec -it 6fffe8ff1f64 bash
root@6fffe8ff1f64:/# apt-get update ----乌班图系统
apt-get install vim -y
root@6fffe8ff1f64:/# vim /etc/nginx/nginx.conf
root@docker101 ~]# docker exec -it 6fffe8ff1f64 bash
root@6fffe8ff1f64:/# vim /etc/nginx/conf.d/default.conf
root@46392c5720da:/# nginx -s reload
2021/08/03 08:05:04 [notice] 425#425: signal process started
输入网址:192.168.312.101:8000/farm
进入nginx 容器
apt-get install tcpdump - y