1磅氨、更新update到最新的版本
yum? update
2辐啄、卸載老版本docker
yum? remove docker? docker-common docker-selinux? docker-engine
3拢肆、安裝需要的軟件包
yum install -y yum-utils? device-mapper-persistent-data lvm2
4屋谭、設(shè)置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5辅斟、查看docker版本/安裝docker
yum list docker-ce --showduplicates|sort -r?
yum? install? docker-ce-18.03.1.ce -y
6转晰、啟動docker? /? 加入開機自啟
systemctl start docker
systemctl enable docker
7、配置國內(nèi)鏡像
vi /etc/docker/daemon.json
{
????"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
8士飒、查看/保存/刪除/載入 [save是保存鏡像? export是保存容器]
docker images
docker save REPOSITORY > abc.tar?
eg:docker save php-fpm > php-fpm.tar
docker rmi IMAGE ID?
docker load < php-fpm.tar
搭建mysql查邢、nginx、php環(huán)境
docker network ls / rm name
docker network create --subnet=192.168.1.1/24 mysql-net??
docker network create --subnet=192.168.2.1/24? nginx-net?
docker network create --subnet=192.168.3.1/24 php-net??
docker ps -a --no-trunc? ?【不省略】
docker run -itd -p 3306:3306 --name mysql -v?/data/mysql/data:/var/lib/mysql -v??/data/mysql/etc:/etc/mysql? -e MYSQL_ROOT_PASSWORD=Andrewhsu123 --net mysql-net mysql
這/data/mysql/etc個文件夾下面的my.cnf文件會默認加載,所以需要自己手寫一個my.cnf
docker run -itd -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=Andrewhsu123 --net mysql-net mysql
docker cp mysql:/etc/mysql /data/mysql/etc1
docker exec -it mysql bash
docker start mysql
docker exec -it mysql mysql -uroot -p
CREATE USER lin@'%' IDENTIFIED BY '123456';
DELETE FROM `user` WHERE `User`='lin' and `Host`='%';
ALTER USER 'shudaoo'@'%' IDENTIFIED BY 'Andrewhsu123' PASSWORD EXPIRE NEVER;
ALTER USER 'shudaoo'@'%' IDENTIFIED WITH mysql_native_password BY 'Andrewhsu123';
GRANT ALL PRIVILEGES ON *.* TO 'lin'@'%' WITH GRANT OPTION酵幕;
FLUSH PRIVILEGES;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Andrewhsu123';
select host,user,password_expired,plugin from user;
select Host,User,authentication_string from user;
UPDATE `mysql`.`user` SET `authentication_string`='*971A59AF30122E656A9A6F13D058DFD43E6896C5' WHERE `Host`='localhost' AND `User`='root';
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'sDaoo123';
RENAME USER 'xsz'@'%' TO 'shudaoo'@'%';
SET PASSWORD FOR 'shudaoo'@'%' = PASSWORD('Andrewhsu123');
GRANT GRANT OPTION ON *.* TO 'shudaoo'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'shudaoo'@'%';
select Host,User,authentication_string from user;
docker run -itd -p 80:80 -p 433:433 --name nginx --net nginx-net nginx
docker run -itd -p 80:80 -p 433:433 --name nginx?-v /data/www:/usr/share/nginx/html?-v /data/nginx/logs:/var/log/nginx--net nginx-net nginx?
docker cp nginx:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /data/nginx/conf/conf.d
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf??
-v /data/nginx/conf/conf.d:/etc/nginx/conf.d
docker run -itd -p 80:80 -p 443:443 --name nginx -v /data/www:/usr/share/nginx/html -v /data/nginx/logs:/var/log/nginx?-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf/conf.d:/etc/nginx/conf.d -v /data/nginx/ssl:/etc/nginx/ssl --net nginx-net nginx
-p 80:80:將容器的 80 端口映射到主機的 80 端口扰藕。
-p 443:443:將容器的 443 端口映射到主機的 443 端口。(可選項芳撒,配置https時加上)
--name nginx:將容器命名為 nginx邓深。
-v /opt/nginx/html:/usr/share/nginx/html:將我們自己創(chuàng)建的 html目錄掛載到容器的 /usr/share/nginx/html。
-v /opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:將我們自己創(chuàng)建的 nginx.conf 掛載到容器的 /etc/nginx/nginx.conf笔刹。
-v /opt/nginx/logs:/var/log/nginx:將我們自己創(chuàng)建的 logs 掛載到容器的 /var/log/nginx芥备。
-v /opt/nginx/conf/conf.d:/etc/nginx/conf.d:?將conf.d目錄掛載,后面進行二級域名反向代理映射端口時用舌菜,不配做這個后面配置不生效
-v /opt/nginx/ssl:/etc/nginx/ssl:將我們自己創(chuàng)建的 ssl目錄 掛載到容器的 /etc/nginx/ssl萌壳,此項為可選項,要使用https證書時加上日月。
docker run -itd -p 9000:9000 --name php7 -v /data/www:/www php