Docker
官方地址:https://www.docker.com/
文档地址:https://docs.docker.com/
仓库地址:https://hub.docker.com/
1. Install
To learn deocker, start running first!
1. The environment required for installation:
(1)、centos7以上版本
查看版本命令:cat /etc/redhat-release
(2)、linux内核版本依赖 :kernel version >= 3.8
查看内核命令:
uname -a | awk '{split($3, arr, "-"); print arr[1]}'
(3)、如果已安装过Docker, 需要移除老版本的Docker
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. Add Docker repository yum source
# 国内源, 速度更快, 推荐
sudo yum-config-manager \
--add-repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
3. It is recommended to update the yum package index
yum makecache fast
4. Start installing Docker: Docker-ce: Community Edition
sudo yum install docker-ce docker-ce-cli containerd.io
5. Start Docker
sudo systemctl enable docker
sudo systemctl start docker
使用 docker version 查看是否启动成功
6. Use test:
docker run hello-world
If "Hello from Docker." appears, it means the operation is successful
7. View the hello-wolrd image
docker images
8. Uninstall:
卸载依赖,
yum remove docker-ce docker-ce-cli containerd.io
删除目录
rm -rf /var/lib/docker
#docker默认的工作路径: /var/lib/docker
2. The underlying principle:
如何工作:
是一个client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问;
DockerServer接收到Docker-Client的指令,就会执行,
为什么比虚拟机快
1.比虚拟机更少的抽象层
2.docker运用的是宿主机的内核,vm用的是Guest OS;
3. Common commands of Docker:
(1). Help command:
docker version
docker info
docker 命令 --help #万能命令:查看所有的命令
帮助文档:https://docs.docker.com/engine/reference/
(2).Mirror command:
docker images
-a:显示所有
-q:只显示id
-aq:显示所有的id
搜索命令:
docker search 搜索镜像
--filter=STARS=3000 搜索镜像收藏大于3000的
下载命令:
docker pull #不写版本默认下载最新版
分层下载;
docker pull mysql:5.7
删除镜像:
docker rmi
docker rmi -f 容器id #全部删除
(3). Container command:
运行命令:
docker run [可选参数] images
--name #容器名称
-d #后台运行
-it #使用交互的方式运行
docker run -it centos /bin/bash 启动并且进入容器
-p #指定容器的端口
-p 主机端口:容器端口
-p 容器端口
容器端口
-P #随机指定端口(大写的P)
docker run -d --name bhc --net=host 镜像ID
docker run -d --name private-cloud --net=host 0195ac731d2c
列出所有运行的容器:
docker ps 命令
-a #列出当前正在运行的容器+带出历史运行过的容器
-n=? #显示最近创建的容器
-q #只显示容器的编号
docker ps -aq 显示当前运行的容器的编号
退出容器:
exit 停止并退出
ctrl+P+Q :退出不停止
删除容器:
docker rm 容器id
docker rm -f
启动和停止容器:
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止容器
docker kill 容器id #强制停止容器
(4). Commonly used other commands:
docker run -d 运行后,查看发现镜像停止了,是因为没有对应的前台应用,docker容器就默认停止
查看日志:docker logs:
docker logs -f bhc
docker -tf --tail 10 容器id 显示10条日志
查看容器中的进程信息:
docker top 容器id
查看镜像的元数据
docker inspect 容器id
进入当前正在运行的容器
docker exec -it 容器id /bin/bash #开启一个新的窗口进入
docker attach 容器id #进入正在运行的命令行
从容器内拷贝到主机上
docker cp 容器id:路径/文件名 /目标路径