esc进阶6天 day2
基于ECS快速搭建Docker环境
Docker有两个分支版本:Docker CE和Docker EE,即社区版和企业版。本教程基于CentOS 7安装Docker CE。
1. 安装Docker的依赖库。
yum install -y yum-utils device-mapper-persistent-data lvm2
2. 添加Docker CE的软件源信息。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 安装Docker CE。
yum makecache fast
yum -y install docker-ce
4. 启动Docker服务。
systemctl start docker
5.配置Docker的自定义镜像仓库地址。请将下面命令中的镜像仓库地址https://kqh8****.mirror.aliyuncs.com替换为阿里云为您提供的专属镜像加速地址。
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF
6. 重新加载服务配置文件。
systemctl daemon-reload
7. 重启Docker服务。
systemctl restart docker
基于docker安装nginx
1.查找镜像并拉取镜像
$ sudo docker search nginx
2. 拉取镜像
$ sudo docker pull nginx
查看本地镜像
$ sudo docker images nginx
启动nginx镜像
sudo docker run -d -p 8080:80 nginx
-d: 后台运行
-p: 端口映射 冒号前是本机端口,冒号后是容器端口
访问本机ip:8080 即可访问该页面,代表nginx启动成功
docker常用命令
查看镜像
docker images
docker images -q # 查看所有镜像的id
# 搜索镜像:从网络中查找所需要的镜像
docker search 镜像名称
# 拉取镜像,镜像名称格式为 名称:版本号,默认拉取最新的
docker pull 镜像名称
# 删除镜像, 删除本地镜像
docker rmi 镜像id
docker rmi `docker images -q` # 删除所有本地镜像
#查看容器
docker ps #查看正在运行的容器
docker ps -a # 查看所有的容器
# 创建容器并启动
docker run 参数
参数说明:
-i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。
-it 创建的容器一般称为交互式容器,-id 创建的容器一般称为守护式容器
--name:为创建的容器命名。
–v 参数 设置数据卷 –v 宿主机目录(文件):容器内目录(文件)
注意事项:
1. 目录必须是绝对路径
2. 如果目录不存在,会自动创建
3. 可以挂载多个数据卷
常用 docker run -i -t -d -p 80:80 --name 容器名字 镜像名字
docker run -it -d -p 80:80 -v 宿主机目录(文件):容器内目录(文件) --name 容器名字 镜像名字
#创建启动c3数据卷容器,使用 –v 参数 设置数据卷
docker run –it --name=c3 –v /volume centos:7 /bin/bash
# 进入容器
docker exec -it 容器id /bin/bash
# 停止容器
docker stop 容器名称
# 启动容器
docker start 容器名称
# 删除,如果容器是运行状态则删除失败,需要停止容器才能删除
docker rm 容器名称
# 查看容器信息
docker inspect 容器名称
启动msyql
例启动mysql镜像
在/root目录下创建mysql目录用于存储mysql数据信息
docker pull mysql:5.6
mkdir ~/mysql
docker run -id -p 3307:3306 --name=c_mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
参数说明:
-p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
-v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。