Docker学习

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值