准备 docker 环境
安装 docker
# Set up repository
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Use Aliyun Docker
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Install the latest version
sudo yum install docker-ce
检查 docker 安装
docker version
运行第一个容器
运行镜像
docker run hello-world
docker run -it ubuntu bash
Docker 基本操作
显示本地镜像库内容
docker images
获得帮助
docker --help
显示运行中容器
docker ps
显示所有容器(包含已中止)
docker ps -a
继续运行原容器并进入
docker restart mystifying_pascal
docker ps
docker attach mystifying_pascal
MySQL 与容器化
拉取 MySQL 镜像
docker pull mysql:5.7
docker images
构建 docker 镜像练习
mkdir mydock && cd mydock
vi dockerfile
输入以下内容:
FROM ubuntu
ENTRYPOINT ["top", "-b"]
CMD ["-c"]
构建镜像:
docker build . -t hello
运行镜像:
docker run -it --rm hello -H
使用 MySQL 容器
启动服务器:
sudo docker run -p 3306:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
docker ps
启动 MySQL 客户端:
docker run -it --net host mysql:5.7 "sh"
使用 MySQL 容器(挂载卷保存 db)
数据库文件位置:
docker exec -it mysql2 bash
Dockerfile 的 VOLUME /var/lib/mysql 的含义:
docker container prune -f
docker volume prune -f
docker volume ls
创建卷并挂载
docker rm $(docker ps -a -q) -f -v
docker volume create mydb
docker run --name mysql2 -e MYSQL_ROOT_PASSWORD=root -v mydb:/var/lib/mysql -d mysql:5.7
启动客户端容器链接服务器
docker run --name myclient --lilnk mysql2:mysql -it mysql:5.7 bash
Docker 网络
管理容器网络
docker network ls
备制支持 ifconfig 和 ping 命令的 ubuntu 容器
docker run --name unet -it --rm ubuntu bash
容器监控与日志
检查 docker 的状态
docker info
docker info --format {{.ServerVersion}}