Docker学习笔记(二)Docke安装镜像

引言

本小节,小猿以mysql和redis为例,来实现docker容器安装应用。

docker 安装mysql

下载mysql镜像

小猿的虚拟机时centos7.6的
如以装mysql5.7为例子

sudo docker pull mysql:5.7

如没办法拉去则并有如下报错

Error response from daemon: Get https://registry-1.docker.io/v2/: 
dial tcp: lookup registry-1.docker.io on [::1]:53: read udp 
[::1]:57799->[::1]:53: read: connection refused

则可能是域名解析服务器配置有问题,需要执行下面命令:

vim /etc/resolv.con

然后再最后一行添加下面的内容

nameserver 114.114.114.114

小猿的问题成功解决。

查看下载镜像状态

在这里插入图片描述

启动镜像

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

在这里插入图片描述
在这里插入图片描述

检查运行情况

查看镜像

docker images

进如容器内部

docker exec -it mysql /bin/bash

在这里插入图片描述
查看sql的目录地址。
在这里插入图片描述

修改mysql参数
vim /mydata/mysql/conf/my.cnf

添加上下面的代码

[client]
default-character-set=utf8
[mysql]
# set mysql client default chararter
default-character-set=utf8
[mysqld]
init_connect='SET collation connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

让系统重启docker 并让docker重启mysql,使得配置生效,并能保证mysql被外界链接,否则可能报错。

docker restart mysql

在这里插入图片描述
配置进入容器内部查看
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置生效。
测试链接
在这里插入图片描述

docker 安装redis

访问 Redis 镜像库地址

拉去镜像

docker pull redis:5.0.5

在这里插入图片描述
在这里插入图片描述

配置映射并启动镜像

docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis:5.0.5 redis-server /etc/redis/redis.conf

注意:直接上述执行本命令是由bug的,容器会将redis.conf当成文件夹而不会当成文件,所以先要执行创建文件。

mkdir -p /mydata/redis/conf
touch  /mydata/redis/conf/redis.conf

在这里插入图片描述
在这里插入图片描述
容器虽然创建成功,但是我们需要解决警告,说明docker容器存在问题,不然等会可能无法连接。

vim /etc/sysctl.conf

追加一行代码

net.ipv4.ip_forward=1

在这里插入图片描述
重启宿主机器网络
在这里插入图片描述
在这里插入图片描述

测试redis

进入redis 容器内的redis 客户端

docker exec -it redis redis-cli

在这里插入图片描述

修改redis的持久化方式

执行下面代码

vim /mydata/redis/conf/redis.conf 

在这里插入图片描述
追加aof持久化方式

appendonly yes

在这里插入图片描述
保存后重启docker 并查看

在这里插入图片描述

容器和镜像的删除

容器删除

删除容器首先要停止对应容器

docker stop  xxx ##xxx表示容器名或容器id

然后执行删除命令即可

docker rm  xxx ##xxx表示容器名或容器id

停止所有容器

docker stop $(docker ps -a -q)

删除所有容器

docker rm $(docker ps -a -q)

删除镜像

删除单个镜像

docker rmi hello-world:latest 

在这里插入图片描述
根据镜像id删除全部镜像

docker rmi $(docker images -q)

所有docker容器操作

停止所有容器

docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

启动所有容器

docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

重启所有容器

docker restart $(docker ps -a | awk '{ print $1}' | tail -n +2)

在这里插入图片描述

在这里插入图片描述
awk为脚本分析命令,具体的可参考其他资料
tail -n +2 其实就是从第二行开始取全部
tail -n -3 只取最后三行。
tail -n k和tail -n -k意义相同

至此,docker 的使用就基本满足日常工作了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值