【云原生 • Docker】docker 环境搭建、docker 与容器常用指令大全
目录
一、Docker 环境搭建
1. 准备工作(已有 Linux 环境可省略)
在这里我们用 VM 虚拟机 + CentOS 的环境进行 Docker 部署(建议使用 CentOS 7 以上版本)。
首先准备一台 CentOS 系统的虚拟机,可以看到主机的 IP 地址为 192.168.200.129;
为了更加直观,我将使用 Xhell 7 连接虚拟机进行操作演示;
2. 安装 Docker
第一步:yum 包更新到最新;
-
//更新yum
-
sudo yum update
第二步:安装需要的软件包,yum-util(提供 yum-config-manager 功能),device-mapper-persistent-data、lvm2(devicemapper 驱动依赖);
-
//安装需要的包
-
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
第三步:设置 yum 源为阿里云;
-
//设置阿里云源
-
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第四步:安装 Docker;
-
//安装docker
-
sudo yum install docker-ce
第五步:检查 Docker 版本;
-
//检查 docker 版本
-
docker -v
使用 docker -v 命令可以查看到版本号即说明安装成功。
3. 设置 ustc 镜像
Docker 安装完成之后还需要执行一个操作那就是设置国内镜像站点,否则 Docker 中下载操作会很慢。
ustc 是老牌 Linux 镜像服务提供者,它的 Docker 加速器速度很快,而且不需要注册,是真正的公共服务。
需要注意的是在设置之前要先启动 docker 服务,如果不启动服务就编辑 .json 文件是无法正常保存的,因为它无法找到 Docker 进程。启动 Docker 服务使用指令:
service docker start
然后 vi 进入文件 /etc/docker/daemon.json,在文件中添加以下内容;
-
{
-
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
-
}
退出保存即可。
二、Docker/容器操作命令汇总
1. Docker 操作命令
systemctl start docker //启动 Docker;
systemctl stop docker //停止 Docker;
systemctl restart docker //重启 Docker;
systemctl status docker //查看 Docker 状态;
systemctl enable docker //开机自启动 Docker;
docker info //查看 Docker 概要信息;
docker --help //查看 Docker 帮助文档;
2. 镜像相关命令
docker images //查看镜像(这些镜像都存储于 /var/lib/docker 目录下)
- repository - 镜像名称;
- tag - 镜像标签;
- image id - 镜像 id;
- created - 镜像的创建日期;
- size - 镜像的大小;
docker search 镜像名称 //搜索镜像,从网络查找需要的镜像
- name - 仓库名称;
- description - 镜像描述;
- stars - 用户评价,反映该镜像的受欢迎程度;
- official - 是否官方;
- automated - 自动构建,表示该镜像是由 Docker Hub 自动构建流程创建的。
docker pull 镜像名称 //拉取镜像,从中央仓库下载镜像到本地
如下载 centos 7 镜像:
docker rmi 镜像ID //删除镜像,可根据镜像 ID 也可根据镜像名称
docker rmi `docker images -q` //删除所有镜像
3. 查看容器
docker ps //查看容器
docker ps -a //查看所有容器
docker ps -l //查看最后一次运行的容器
docker ps -f statu=exited //查看停止的容器
4. 创建容器
docker run
docker run 参数
包含参数如下:
- -i 运行容器
- -t 容器启动后自动进入其命令行
- --name 为创建的容器命名
- -v 表示目录映射关系,前者为宿主机目录,后者是映射到宿主机上的目录
- -d 加了这个参数则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器)
- -p 表示端口映射,前者为宿主机端口,后者是容器内的映射端口
常用创建容器的方式为交互式创建容器和守护式创建容器,如下:
-
//交互式创建容器
-
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
-
-
//退出当前容器
-
exit
-
//守护式创建容器
-
docker run -di --name=容器名称 镜像名称:标签
-
-
//登录守护式容器
-
docker exec -it 容器名称/ID /bin/bash
5. 停止与启动容器
docker stop 容器名称/ID //停止容器
docker start 容器名称/ID //启动容器
6. 文件挂载
docker cp 需要拷贝的文件/目录 容器名称:目录 //将文件拷贝到容器内
docker cp 容器名称:目录 需要拷贝的文件/目录 //将文件从容器拷贝出来
7. 目录挂载
在创建容器时,我们可以将宿主机的目录与容器内的目录进行映射,这样就可以通过修改宿主机的目录文件从而直接影响容器了。
docker run -di -v 宿主机目录:容器目录 --name=容器名称 镜像名称:标签
如果共享多级的目录,可能会出现权限不足的提示。这是由于 CentOS 7 中的安全模块 selinux 将权限禁止了,这时候可以添加参数 --privileged=true 来解决此问题。
8. 查看容器 IP 地址
docker inspect 容器名称/ID //查看容器 ip 以及相关的各种数据
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称/ID //查看容器 ip 地址并输出
9. 删除容器
docker rm 容器名称/ID //删除指定的容器
需要注意的是如果想要删除一个容器,需要先停止该容器;且如果镜像中有运行状态的容器,也是无法删除容器的。
文章来源: majinjian.blog.csdn.net,作者:Developer 小马,版权归原作者所有,如需转载,请联系作者。
原文链接:majinjian.blog.csdn.net/article/details/125461283
- 点赞
- 收藏
- 关注作者
评论(0)