安装docker
1、卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、安装存储库
yum install -y yum-utils
3、设置镜像仓库,使用阿里云镜像
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
====================================================
docker 安装遇到404 not find
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
解决办法:
cd /etc/yum.repos.d
ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo docker-ce.repo
CentOS-Debuginfo.repo CentOS-Sources.repo mirrors.ustc.edu.cn_docker-ce_linux_centos_docker-ce.repo
国内无法连接docker默认的境外地址,删除docker相关的repo文件即可
rm -rf docker-ce.repo
rm -rf mirrors.ustc.edu.cn_docker-ce_linux_centos_docker-ce.repo
如果想安装docker-ce可以使用国内yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、安装docker引擎
yum install docker-ce docker-ce-cli containerd.io
5、启动docker
systemctl start docker
相关命令
查看docker以安装的容器(应用)
docker images
开机自启
systemctl enable docker
配置镜像加速器
使用加速器可以提升获取Docker官方镜像的速度 (非docker必要的安装条件)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://idgsx3jh.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
下载容器
可以再 docker hub 网站上查看要下载的容器名称以及版本
docker pull xxx 镜像的名字
例:
docker pull mysql
默认下载最新版
指定版本 `:` 后面加上版本号
docker pull mysql:5.7
查看已安装的容器(应用)
docker ps
docker容器文件挂载与端口映射
挂载mysql
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
mysql的配置信息
vim /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[myssqld]
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
挂载redis
# 先创建文件夹
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
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
进入到某个容器的控制台
mysql为例
docker exec -it mysql /bin/bash # /bin/bash 就是控制台
exit 退出
设置虚拟机重启,应用也会重新启动,命令都是一样的
docker update redis --restart=always
docker update mysql --restart=always
容器
启动容器
docker start 容器名
docker star