1. 安装docker
yum install -y docker
查看docker状态:systemctl status docker
打开docker并设置开机自启
systemctl start docker
systemctl enable docker
2. 查看docker镜像
docker image
3. 下载docker镜像
如果直接拉去,速度会很慢,建议copy到U盘
但是U盘下载时报了个错误:Error processing tar file(exit status 1): unexpected EOF(处理tar文件时出错)
那用内置的命令来删除未使用的图像: docker image prune ,再下载
ok,再次查看镜像
4. 运行mariadb、wordpress和phpmyadmin 三个容器
1)运行mariadb容器
docker run --name mariadb-test -e MYSQL_ROOT_PASSWORD=123456 -d mariadb:latest (正确)
docker run --name mariadb-test -e MYSQL_ROOT_PASSWORD=123456 -d mariadb:tag (错误)
在命令行里设置密码为123456。tag是版本号,即可以同时运行多个版本,并随意选择版本。
2)运行wordpress 容器
docker run --name wordpress-test --link mariadb-test:mysql -p 80 -d wordpress
3)运行phpmyadmin容器
docker run --name phpmyadmin --link mariadb-test:db -p 8080:80 -d phpmyadmin/phpMyAdmin
# docker run,运行容器的命令
# --name参数,后面跟着的mariadb-test是自己命名的容器名称
# -e MYSQL_ROOT_PASSWORD=123456Abc,是为mariadb的root设置密码为123456Abc,这是Wordpress的要求,要求8位,有大小写字母和数字
# -d mariadb,这是mariadb在docker官方注册中心的镜像名称
# --name参数,后面跟着的是wordpress-test是自己命名的容器名称
# --link是关联自己依赖的容器名称及标准服务名称
# -p 80,打开防火墙上的80端口
# -d wordpress,这是wordpress在docker官方注册中心的镜像名称
5. 查看所有容器的运行状态:docker ps -a
注意到这里第一列的CONTATINER ID 或最后一列的NAMES.
使用 docker inspect NAMES 或 docker inspect CONTATINER ID 可查看相应容器的信息:
6. Docker是有IP地址的,使得容器和宿主机组成一个独立的局域网
查看所有容器IP地址:
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
可用浏览器打开相应的IP地址
http://172.17.0.2 打开mariadb
http://172.17.0.3 打开wordpress
http://172.17.0.4 打开phpmyadmin
7. 查看容器内进程:docker top NAMES 或CONTAINER ID
docker stats ContainerID(实时更新):
如果使用的是docker stats NAMES 的话,CONTAINER处显示的是容器id的前四位
#CPU %:CPU使用率
#MEM USAGE / LIMIT :内存使用量/限制量
#MEM%:内存使用率
#网卡 入/出:
#块设备 入/出:
#PIDS(进程数量):30
8. 进入容器,交互式运行命令
ContainerID是容器的编号,只写前4位即可
docker attach ContainerID //守护容器
如果CTRL+C退出容器后找不到该容器了,可以docker start ContainerID 试试
docker pause ContainerID //暂停容器
docker unpause ContainerID //解除暂停
docker kill ContainerID //结束容器
docker rm ContainerID //移除容器