摘要:Docker 是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在本地编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、baremetal、OpenStack 集群和其他的基础应用平台。简单的理解,Docker类似于集装箱,各式各样的货物,经过集装箱的标准化进行托管,而集装箱和集装箱之间没有影响。也就是说,Docker平台就是一个软件集装箱化平台,这就意味着我们自己可以构建应用程序,将其依赖关系一起打包到一个容器中,然后这容器就很容易运送到其他的机器上进行运行,而且非常易于装载、复制、移除,非常适合软件弹性架构。
一、安装docker服务,配置镜像加速器
1.安装必要的一些系统工具
[root@node ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
2.添加软件源信息
[root@node ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.更新源并安装 Docker-ce
[root@node ~]# yum makecache fast
[root@node ~]# yum list docker-ce.x86_64 --showduplicates | sort -r # 查找docker-ce的版本
[root@node ~]# yum install docker-ce 3:24.0.5-1.el7 # 安装指定版本docker
4.安装校验
[root@node ~]# docker version
Client: Docker Engine - Community
Version: 24.0.5
API version: 1.43
Go version: go1.20.6
Git commit: ced0996
Built: Fri Jul 21 20:39:02 2023
OS/Arch: linux/amd64
Context: default
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
5.docker镜像加速
可以在阿里云的容器镜像服务中查看配置镜像加速器
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ggsypcee.mirror.aliyuncs.com"]
}
EOF
[root@node ~]# systemctl daemon-reload # 重新加载docker配置
[root@node ~]# systemctl restart docker # 重启docker服务
[root@node ~]# systemctl enable docker # 设为开机自启
二、下载系统镜像(Ubuntu、 centos)
[root@node ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
[root@node ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
三、基于下载的镜像创建两个容器
[root@node ~]# docker run --name zhujialiang -it centos
[root@node ~]# docker run --name zjl -it ubuntu
root@7453cd6fcb8e:/#
四、容器的启动、 停止及重启操作
1.启动容器以及重启
[root@node ~]# docker start zjl
[root@node ~]# docker restart zjl
2.查看容器
[root@node ~]# docker ps
[root@node ~]# docker container ls
3.关闭容器
[root@node ~]# docker stop zjl
[root@node ~]# docker kill zjl
4.查看容器详细信息
[root@node ~]# docker inspect zjl | grep -i Address
五、怎么查看正在运行的容器和所有容器?
# 查看正在运行的
[root@node ~]# docker ps
[root@node ~]# docker container ls
# 查看所有容器
[root@node ~]# docker ps -a
[root@node ~]# docker container ls -a
六、怎么退出容器: 两种方法分别实现?
[root@node ~]# docker run --name zjl -it centos /bin/bash
[root@3c4c6960e31c /]# exit
[root@node ~]# docker stop zjl1
七、怎么连接到运行的容器?
[root@node ~]# docker exec -it zjl /bin/bash
八、查看容器或镜像的内部信息?
[root@node ~]# docker inspect zjl
九、如何查看所有镜像?
[root@node ~]# docker images
[root@node ~]# docker image ls