Docker 入门教程 (一) 安装与常用命令
GuoJun 2019-11-29 Docker
# Docker 简介
Docker 是世界领先的软件容器平台。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发布新功能。
# Docker安装
#查看系统信息 centos
cat /etc/redhat-release
# CentOS 7 (使用yum进行安装)
- 删除旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 安装存储库拓展包和设定存储库
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- 安装三个包 其中,docker-ce 是docker 的程序包;docker-ce-cli 是 docker 的工具包;containerd.io 是系统和 docker 的 api 的守护进程
sudo yum install docker-ce docker-ce-cli containerd.io
- 启动docker
sudo systemctl start docker
- 设置开机自启动
sudo systemctl enable docker
- 配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://dkcvnb0h.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- 验证docker
docker version
# Docker Hello world
# 1.拉取Hello world镜像
docker pull library/hello-world
# 2.查看Hello world
docker images
# 3.运行Hello world
docker run hello-world
# Docker 常用命令
# 镜像
# 搜索镜像
docker search <image> # 在 docker index 中搜索 image
# 下载镜像
docker pull <image> # 从 docker registry server 中下拉 image
# 查看镜像
docker images: #列出 images
docker images -a #列出所有的 images(包含历史)
docker rmi <image ID>: #删除一个或多个 image
# 容器的使用
# 使用镜像创建容器
docker run -itd --name centos_aways --restart=always centos
#创建一个名称 centos_aways 的容器,自动重启
# --restart 参数:always 始终重启;on-failure 退出状态非 0 时重启;默认为,no 不重
#查看容器
docker ps :列出当前所有正在运行的 container
docker ps -l :列出最近一次启动的 container
docker ps -a :列出所有的 container(包含历史,即运行过的 container)
docker ps -q :列出最近一次运行的 container ID
# 再次启动容器
docker start/stop/restart <container> #:开启/停止/重启 container
docker start [container_id] #:再次运行某个 container (包括历史 container)
#进入正在运行的 docker 容器
docker exec -it [container_id] /bin/bash
# 删除容器
docker rm <container...> #:删除一个或多个 container
docker rm `docker ps -aq` #:删除所有的 container
docker ps -aq | xargs docker rm #:同上, 删除所有的 container
创建容器基础的命令格式
# 其他命令
#给镜像添加一一个软链接并改名和标签:
docker tag [oldname:tag] [newname:tag]
#容器和宿主机之间文件复制
docker cp [文件目录容器 ID:内部路径]
docker cp [容器 ID:内部路径文件目录