Docker的安装
(1)卸载老版本
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
(2)安装yum仓库
安装需要的工具
yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum仓库的地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum缓存
yum makecache fast
(3)安装docker
yum install docker-ce docker-ce-cli containerd.io
(4)启动docker
systemctl start docker
(5)hello world
docker run hello-world
镜像操作
(1)配置镜像仓库
/etc/docker/deamon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
systemctm restart docker
(2)查看网络中的镜像
docker search 镜像名称
(3)拉取镜像
docker pull 镜像名称:Tag
如果没有写tag,则拉取最新版本
(4)查看本地镜像
docker images
(5)删除镜像
docker rmi 镜像ID
容器操作
(1)查看容器
查看正在运行的容器
docker ps
查看所有容器(包含已经停止的)
docker ps -a
查看最有一次运行的容器
docker ps -l
查看已经停止的容器
doker ps -f status=exited
(2)创建容器
-i 运行容器
-t 交互式
-d 守护式
-v 目录映射
-p 端口映射
--name 设置容器名称
创建交互式容器(exit后会关闭容器)
docker -it --name=容器名称 镜像名称:TAG /bin/bash
创建守护式容器(exit后不会关闭)
docker -id --name=容器名称 镜像名称:TAG
进入容器
docker exec -it 容器名称 /bin/bash
(3)启动与停止
启动容器
docker start 容器名称/容器ID
停止容器
docker stop 容器名称/容器ID
(4)文件的拷贝
拷贝宿主机的文件到容器内
docker cp 文件名 容器名:文件路径
拷贝容器内的文件到宿主机
docker cp 容器名:文件名 文件路径
(5)删除容器
docker rm 容器的ID/容器名
注意:运行的容器不能删除
docker rm `docker ps -a -q` 删除所有容器
(6)容器的后台运行
进入容器后 ctrl+p+q
再次进入后台运行的容器 docker attach 容器ID
部署:
(1)部署mysql
拉取mysql镜像 docker pull mysql:5.7
基于镜像启动容器
docker run -id --name=xxx -p 33306:3306 -e MYSQL_ROOT_PASSWORD=1223456 mysql:5.7
远程连接mysql
宿主机ip:33306
如果有问题,表示没有开启mysql远程连接权限
grant all....
(2)部署nginx
拉取nginx镜像
创建容器 -p 80:80
静态资源服务器
html: /usr/share/nginx/html
负载均衡服务器
/etc/nginx/conf.d/default.conf
重新加载配置文件
nginx -t
nginx -s reload