一、是什么
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
二,怎么用
2.1 安装docker
(1) 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
(2) 设置存储库
安装封装(提供实用工具)并设置稳定的存储库。
sudo yum install -y yum-utils
sudo 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 start docker
查看下载镜像
docker-images
开机自启
sudo systemctl enable docker
阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://x4lmy5zl.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
查看所有容器对象
docker ps -a
查看当前运行容器镜像
docket ps
2.2 安装mysql
(1) 下载mysql
docker pull mysql:5.7
(2) 运行mysql
#把MySQL日志放到Linux中mydata文件下
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
(3)mysql修改字符集
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
2.3 安装redis
(1) 下载镜像
docker pull redis
(2) 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
(3) 运行redis
docker exec -it redis redis-cl
(4) 设置持久化
进入/mydata/redis/conf下 vi redis.conf
appendonly yes
设置开机启动
sudo docker update mysql --restart=always
端口被占用可以查看当前被占用端口
netstat -tanlp
kill 占用端口进程的PID