作业要求
参考:玩转 Docker 容器技术:1-6章 ,按课件内容实践,并给出实验报告。
安装
安装 yum-utils , 使用 yum-config-manager 工具设置Yum源, 后面两个是 devicemapper驱动依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
使用阿里源访问
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
查看指定版本
yum list docker-ce --showduplicates
安装指定版本
sudo yum install -y --setopt=obsoletes=0 docker-ce-17.03.2.ce-1.el7.centos.x86_64 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
验证安装成功:
docker version
运行
- 运行hello-world镜像:
docker run hello-world
- 运行Ubuntu镜像:
docker run -it ubuntu bash
- 显示本地镜像库内容
docker images
- 显示运行中的容器
docker ps
没有运行中的容器,内容为空
- 显示所有容器(包含已中止)
docker ps -a
- 继续运行原容器并进入
docker restart $NAMES
docker ps
dockerr attach $NAMES
MySQL与容器化
拉取MySQL镜像
docker pull mysql:5.7
构建docker镜像
- 创建文件夹mydock与一个dockfile
# mkdir mydock && cd mydock
# vi dockerfile
- 录入
FROM ubuntu
ENTRYPOINT ["top", "-b"]
CMD ["-c"]
- 构建镜像
docker build . -t hello
- 运行镜像
docker run -it --rm hello -H
启动 MySQL 客户端
- 启动容器内 sh 进程,
docker run -it --net host mysql:5.7 "sh"
- 启动MySQL客户端。
mysql -h127.0.0.1 -P3306 -uroot -proot
- 创建卷dblll(这里是我起的名字)并挂在/var/lib/mysql中
docker rm $(docker ps -a -q) -f -v
docker volume create dblll
docker run --name mysql2 -e MYSQL_ROOT_PASSWORD=root -v dblll:/var/lib/mysql -d mysql:5.7
- 启动客户端容器链接服务器
docker run --name myclient --link mysql2:mysql -it mysql:5.7 bash
mysql -hmysql -P3306 -uroot -proot