1.Docker centos7_64环境配置
cd /etc/sysconfig/network-scripts/
systemctl restart network
curl -O http://pigx.vip/os7init.sh
sh os7init.sh root1
root1 为centos用户名
- Linux 免登陆设置(Linux知识补充)
ssh 171.17.168.xxx.xxx
ssh-keygen
ssh-copy-id root@171.17.xxx.xx
2.docker安装
docker安装
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
yum makecache fast
yum install -y docker-ce
systemctl enable docker
systemctl start docker
docker version
docker卸载
#查看已安装的docker列表
yum list installed |grep docker
yum remove docker-ce.x86_64 \
docker-ce-cli.x86_64 \
docker-ce-rootless-extras.x86_64 \
docker仓库:https://hub.docker.com/
# 下载安装Nginx
docker pull nginx:1.17
# 查看本地安装
docker images
# 移除Nginx
docker rmi nginx:1.17
docker run --name test-nginx -d -p 8080:80 nginx
docker run --rm --network host --name test-nginx2 nginx
3.配置阿里云镜像加速器
在 /etc/docker/daemon.json 中写入如下内容(如果文件不存 在请新建该文件)
{“registry-mirrors”: [“https://registry.docker-cn.com”]}#网易云{“registry-mirrors”: [“http://hub-mirror.c.163.com”] } #阿里云{ “registry-mirrors”: [“https://{自已的编码}.mirror.aliyuncs.com”]}
systemctl start docker #运行Docker守护进程
systemctl stop docker #停止Docker守护进程
systemctl restart docker #重启Docker守护进程
systemctl status firewalld.service
systemctl stop firewalld.service
#docker挂载到本地
docker run --name test-nginx -d -p 8080:80 -v /data/docker:/usr/share/nginx/html nginx:1.17
#查看日志文件
docker logs -f test-nginx
#进入容器操作
docker exec -it test-nginx sh
exit退出
#查看IP
docker inspect test-nginx
使用busybox
docker run -it --name test-nginx3 busybox sh
docker rm test-nginx3
docker run -it --name test-nginx3 --link test-nginx busybox sh
在上面的sh里面
ping test-nginx
等同于ping 172.17.0.2(172.17.0.2为test-nginx的IP地址)
4. DockerFile使用
创建Dockerfiel文件
vim Dockerfile
FROM nginx:1.17.6
ENV LANG en_US.UTF-8
ADD index.html /usr/share/nginx/html
EXPOSE 80
EXPOSE 443
创建index.html文件
vim index.html
docker build . -t hello-k8s:0.01
docker images
docker run -d -p 8081:80 hello-k8s:0.01
curl http://localhost:8081
使用阿里docker镜像仓库之前要注册啊
地址:https://cr.console.aliyun.com/cn-hangzhou/instances
登录阿里docker镜像仓库
docker login --username=tip****627**** registry.cn-hangzhou.aliyuncs.com
将镜像推送到Registry
docker tag hello-k8s:0.01 registry.cn-hangzhou.aliyuncs.com/wengufan/wengufan_test:0.01
docker push registry.cn-hangzhou.aliyuncs.com/wengufan/wengufan_test:0.01
速度超快
删除centos上 hello-k8s和 registry.cn-hangzhou.aliyuncs.com/wengufan/wengufan_test:0.01
docker rmi hello-k8s:0.01
docker rmi registry.cn-hangzhou.aliyuncs.com/wengufan/wengufan_test:0.01
docker images
下载镜像
docker pull registry.cn-hangzhou.aliyuncs.com/wengufan/wengufan_test:0.01
名字有点长,不过可以直接在官网复制
退出登录
docker logout registry.cn-hangzhou.aliyuncs.com
hub docker 官方版
https://hub.docker.com/
登录
docker login
将镜像推送到hub docker
docker tag hello-k8s:0.01 wengufan/hellok8s:0.01
docker push wengufan/hellok8s:0.01
测试是否上传成功
docker pull wengufan/hellok8s:0.01
docker run --name testhub -d -p 8080:80 wengufan/hellok8s:0.01
5. mysql
docker pull mysql:5.7 # 拉取 mysql 5.7
docker pull mysql # 拉取最新版mysql镜像
docker run -p 3306:3360 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
建立目录映射
docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
上面映射个人感觉很重要
whoy?报错了ERROR 1045 (28000)
https://blog.csdn.net/zhldt2008/article/details/81127145
需要将 -v /data/mysql/conf:/etc/mysql/conf.d 这句话加上。这样的话mysql安装目录/etc/mysql/conf.d 会加载到docker 容器/data/mysql/conf目录下。
进入docker容器,在/data/mysql/conf目录下面新建my.cnf文件,名字可以随便起,但必须是.cnf结尾的文件。
vi my.cnf文件,加入下面的内容。
[mysqld]
skip-grant-tables
检查容器是否正确运行
docker container ls
进入docker本地连接mysql客户端
sudo docker exec -it mysql bash
mysql -uroot -p123456
mysql 8.0.21
docker run -p 3306:3306 --name pig01 -v /usr/local/docker/mysql/conf:/etc/mysql -v /usr/local/docker/mysql/logs:/var/log/mysql -v /usr/local/docker/mysql/data:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.21
docker start pig01
docker exec -it pig01 bash
mysql -u root -p
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
关闭多个线程
ps -ef|grep tail|grep -v grep|cut -c 9-15 |xargs kill -9
6.nginx
docker run --name nginx -p 80:80 -v /data/nginx/data-docker/config/nginx.conf:/etv/nginx/nginx.conf
-v /data/nginx/data-docker/log/:/etc/var/log/nginx -v /data/nginx/data-docker/default-config/default.conf:/etc/nginx/con
f.d/default.conf -d nginx:latest
#查看容器的日志命令
#格式: docker logs -f -t – tail 记录数 容器名称
docker logs -f -t --tail 100 nginx