docker run --privileged=true --dns=192.168.1.1 --name shop-t -d -p 8080:80 -v /project:/var/www/html centos7-sshd-httpd-php56-mysql-client initphp
systemctl 启动不起来的解决方法html
docker run --privileged=true --dns=192.168.1.1 --name shop-t -d -p 8080:80 -v /project:/var/www/html centos7-sshd-httpd-php56-mysql-client initmysql
-v /db:/var/lib/mysqlsql
-e MYSQL_ROOT_PASSWORD=Nzy19970502docker
--link mysql.5.7:db数据库
-p 8080:80centos
以上是经过容器创建了另外一个网段,容器的主机必须和宿主机经过端口映射才能够访问服务器
如下是当独立主机使用,不用映射端口,直接能够访问网络
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=ens33 mynetdom
ens33是网卡的名称
建立一个macvlan的网络,网络名为mynet 继承网卡ens33的属性
这时就不用作端口映射了
docker run --net=mynet[网络名] --name="test1" --dns=192.168.1.1 --ip=192.168.1.100[本机ip] -v /jastme/test1:/testl --privileged=true -dit centos7-sshd-httpd-php56-mysql-client init
例子:
须要启动systemd进程
--privileged[须要启动systemctl]
docker run --privileged -tdi -p 8080:80 centos7-sshd-httpd-php56 init
docker inspect 容器id |grep IPAddress
-v 指的是挂载卷,这样能够持久性保存数据
-d 指明用哪一个images
--name 主机名称
init 也是为了配合privileged而写
主机部分
带上link的 让主机链接mysql数据的容器
docker run --privileged --link mysql.5.7:db -ti -d -p 8080:80 -v /mydata:/var/www/html centos7-sshd-httpd-php56 init
不带link[让主机单独跑]
docker run --privileged -ti -d -p 8080:80 -v /mydata:/var/www/html centos7-sshd-httpd-php56 init
指定名称[给主机指定个有意义的名称,要不名字是随机分配的]
docker run --privileged --link mysql.5.7:db -ti -d -p 8080:80 --name host-shop -v /mydata:/var/www/html centos7-sshd-httpd-php56 init
phpmyadmin
docker run --privileged --link mysql.5.7:db -ti -d -p 8081:80 --name host-pma -v /mydata:/var/www/html freedoms1988/centos7-sshd init
数据库部分[MYSQL_ROOT_PASSWORD=Nzy19970502 指定root的密码]
docker run --name mysql.5.7 -p 3306:3306 -v /db:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Nzy19970502 -d mysql:5.7
freedoms1988/centos7-sshd
docker run --privileged=true --dns=100.100.2.136 --name shop-host -d -p 8080:80 -v /project:/var/www/html freedoms1988/centos7-sshd init