docker下载
docker 官网地址:https://docs.docker.com
docker下载分为两部分:
- docker desktop 可视化工具
- docker Engine 服务器部署
docker部署
官网地址:https://docs.docker.com/engine/install/centos/
以centos为例:
- 卸载原有的环境
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 使用存储库安装
- 首次在新主机上安装 Docker Engine 之前,需要设置 Docker 存储库。之后,您可以从存储库中安装和更新 Docker。
- 安装 yum-utils 包(它提供了 yum-config-manager 实用程序)并设置存储库。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- 安装 Docker 引擎
sudo yum install -y docker-ce docker-ce-cli containerd.io
测试docker是否安装成功
- 启动docker
sudo systemctl start docker
- 跑测试docker
sudo docker run hello-world
- 开机启动docker
sudo systemctl enable docker
docker 镜像加速
阿里云配置地址:https://cr.console.aliyun.com/cn-shenzhen/instances/mirrors
- 使用阿里云提供的镜像库,加速镜像获取速度
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://4p8905vs.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker命令
- 获取docker 版本
- docker version
- docker 命令帮助
- docker -help
- 获取docker镜像集合
- docker images
- 搜索docker
- docker search
- 拉取docker镜像
- docker pull
- 删除docker镜像
- docker rmi
容器命令
- 有镜像才能有容器,所以先下载一个centos虚拟机镜像
- docker pull centos:centos7
- 创建并启动一个容器
docker run [OPTIONS] IMAGE [COMMAND]
OPTIONS中的一些参数
options | 说明 |
--name | “容器新名字”: 为容器指定一个名称 |
-d | 后台运行容器,并返回容器ID,也即启动守护式容器 |
|
|
|
|
-P: | 随机端口映射 |
-p | 指定端口映射,有以下四种格式 ip:hostPort:containerPort ip::containerPort
|
- 启动一个虚拟机
- docker run -it centos:centos7 /bin/bash
- 列举运行中的容器
- docker ps [OPTIONS]
OPTONS可用的参数
OPTIONS | 说明 |
-a | 列出当前所有正在运行的容器+历史上运行过的 |
-l | 显示最近创建的容器。 |
-n | 显示最近n个创建的容器。 |
-q | 静默模式,只显示容器编号。 |
–no-trunc | 不截断输出。 |
- 退出容器
退出方式 | 说明 |
exit | 容器停止退出 |
ctrl+p+q | 容器不停止退出 |
- 启动容器
- docker start 容器ID或者容器名称
- 重启容器
- docker restart 容器id或者名称
- 停止容器
- docker stop 容器ID或者名称
- docker kill 容器ID或者名称
- 删除容器
- docker rm 容器ID
- docker rm -f $(docker ps -qa)
- docker ps -a -q | xargs docker rm
守护镜像
类似于守护线程,主进程结束,守护线程也就消亡;
- 创建守护镜像:
- 写一个死循环,避免主线程结束导致守护现场结束
docker run -d centos:centos7 /bin/bash -c ‘for i in {1…1000};do echo “hello docker $i”;sleep 3;done’
- 日志查看:
docker logs -t -f 容器ID
其他命令:
- 查看容器中运行的进程:
docker top 容器ID
- 查看容器细节:
docker inspect 容器ID
- 重新进入容器进程
docker attach 容器ID
docker exec -it 容器ID 命令 例如:docker exec -it 1a37 ls
进入方式 | 说明 |
exec | 在容器中打开新的终端,并且可以启动新的进程 |
attach | 直接进入容器启动命令的终端,不会启动新的进程 |
- 复制容器文件
- docker cp 容器ID:目标文件 存放地址
docker cp 927:/root/hello_world /root