docker 配置
虚拟化容器技术。基于镜像,可以秒级启动各种容器;每种容器都是一个完整的运行环境,容器之间相互隔离。
docker hub 镜像
docker官网
卸载旧版本
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
安装依赖
sudo yum install -y yum-utilssudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker引擎(最新版本)
sudo yum install docker-ce docker-ce-cli containerd.io
4.启动docker
sudo systemctl start docker
5.开机自启
sudo systemctl enable docker
6.docker 国内镜像(阿里云)
centos
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://h7j6vpo3.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
docker hub上查看软件的tag确认安装版本
ps: 查看cpu架构
dpkg --print-architecture |
|---|
docker 进入容器
docker exec -it 容器名/id /bin/bash
mysql 安装
sudo docker pull mysql:5.7
遇到问题:
failed to register layer: Error processing tar file(exit status 1): write /usr/bin/resolve_stack_dump: no space left on device
原因:inodes资源耗尽,需要清理一下
df -isudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n
df -h的比较好解释,就是查看磁盘容量的使用情况。至于df -i,先需要去理解一下inode
以博客主的个人理解,最简单的说法,inode包含的信息:文件的字节数,拥有者id,组id,权限,改动时间,链接数,数据block的位置。相反是不表示文件大小。
或者这个docker清理工具
curl -s https://raw.githubusercontent.com/ZZROTDesign/docker-clean/v2.0.4/docker-clean |sudo tee /usr/local/bin/docker-clean > /dev/null && \sudo chmod +x /usr/local/bin/docker-cleandocker-clean
docker映射
su root vagrant
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 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: Error response from daemon: error creating aufs mount to /var/lib/docker/aufs/mnt/08ad0573f83735ff94a5020a2a4a6cf9c366a372cc7e6a4496a0aaf21448d…….b8f9a692eb8bd9b88b8560b2b660=ro+wh,dio,xino=/dev/shm/aufs.xino: permission denied.
不用中科大的镜像就解决问题了。。。。。。
修改mysql的配置
vi /mydata/mysql/conf/my.cnf
[client]default-character-set=utf8[mysql]default-character-set=utf8[mysqld]init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES utf8'character-set-server=utf8collation-server=utf8_unicode_ciskip-character-set-client-handshakeskip-name-resolve
mysql 可视化管理工具 sqlyoung
redis 可视化管理工具 redisdesktopmanager
redis安装
进入虚拟机,切换root用户
docker pull redis
为了防止linux将文件映射成目录,需要先川建好文件。
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker映射
docker run -p 6379:6379 —name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
redis默认没有持久化,需要修改conf配置
vi /mydata/redis/conf/redis.conf
添加
appendonly yes
虚拟机直接进入rediscli
docker exec -it redis redis-cli
