什么是docker?
在我们项目开发到上线有很长的时期,在这个过程,功能繁杂,模块众多.开发环境,测试环境,本地环境都配置一遍那也太麻烦了.那就能不能在linux上部署环境.docker的广泛应用就是基于这个目的.docker是指虚拟化容器技术,可以秒级启动各种容器。每一个容器都是一个完整的运行环境,容器之间互相隔离。
安装docker
卸载docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装必须的依赖
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
设置 docker repo 的 yum 位置
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装 docker,以及 docker-cli
yum install docker-ce docker-ce-cli containerd.io
启动 docker
systemctl start docker
设置 docker 开机自启
systemctl enable docker
阿里云,容器镜像服务
针对 Docker 客户端版本大于 1.10.0 的用户
您可以通过修改 daemon 配置文件/etc/docker/daemon.json 来使用加速器sudo mkdir -p /etc/docker
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
接下来我们安装一个容器并卸载它,熟悉一下基本命令
1、下载镜像文件
docker pull mysql:5.7
2、创建实例并启动
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
参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
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=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
3、通过容器的 mysql 命令行工具连接
docker exec -it mysql mysql -uroot -proot
4、设置 root 远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
5、删除容器
首先要停止容器,通过docker ps获取容器id,
执行docker stop 容器ID
删除容器 docker rm 容器id
删除镜像 docker rmi 容器id
其他的都一样,步骤都是这个步骤
晚安