赞
踩
下面的操作是在root用户下操作的,如果非root用户在命令行前加上sudo
- #查看内核版本
- (base) [klfwjfwea@VM-0-6-centos ~]$ uname -r
- 3.10.0-1160.24.1.el7.x86_64
-
- #查看系统版本
- (base) [klfwjfwea@VM-0-6-centos ~]$ cat /etc/redhat-release
- CentOS Linux release 7.9.2009 (Core)
-
- #查看系统架构
- (base) [klfwjfwea@VM-0-6-centos ~]$ uname -m
- x86_64
不确定是否安装过docker也可以执行,卸载时会提升找不到相应的包,如下所示:
- yum remove docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-engine
# yum remove docker \
> docker-client \
> docker-client-latest \
> docker-common \
> docker-latest \
> docker-latest-logrotate \
> docker-logrotate \
> docker-engine
Loaded plugins: fastestmirror
No Match for argument: docker
No Match for argument: docker-client
No Match for argument: docker-client-latest
No Match for argument: docker-common
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
No Packages marked for removal
卸载Docker软件包并不会自动删除与Docker相关的所有数据。特别是以下数据不会被删除:
这些数据存储在 /var/lib/docker/
目录中。如果你希望完全删除所有Docker相关的数据,你需要手动删除这个目录:
rm -rf /var/lib/docker
注意:删除此目录会永久删除所有Docker镜像、容器、卷和网络。请确保你已经备份了需要保留的数据。
更新系统
yum update -y
安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
设置官方仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
如果因为网络问题无法访问可以使用阿里的镜像
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
启动docker
systemctl start docker
设置docker开机启动(非必须)
systemctl enable docker
关闭docker
systemctl stop docker
重启docker
- #更改配置文件时需要使用下面两条命令
-
- systemctl daemon-reload
- systemctl restart docker
-
- #只是简单的重启不涉及到配置改变直接使用下面的命令即可
- systemctl restart docker
查看docker状态
systemctl status docker
重启时什么时候需要使用 daemon-reload
/etc/docker/daemon.json
)时。编辑或者新建配置文件: /etc/docker/daemon.json 添加下面的内容
vi /etc/docker/daemon.json
- {
- "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
- }
重启docker即可
- systemctl daemon-reload
- systemctl restart docker
查看镜像源是否安装成功
docker info
可以看到下面的提示说明配置成功
使用hello-world镜像创建一个示例来验证
docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete
Digest: sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd
Status: Downloaded newer image for hello-world:latestHello from Docker!
This message shows that your installation appears to be working correctly.
docker常用命令根据其使用流程,使用镜像创建容器(实例),这里可以分为两大类镜像相关和容器(实例)相关,暂时只用到这些知识,后序再补充
镜像和容器的操作都可以使用id和name,因为name在当前主机上也是唯一的
docker images
docker search IMAGE_NAME
docker pull IMAGE_NAME
拉取镜像时如果不指定标签默认拉取最新的镜像,如果需要指定版本可以在镜像名后加上:版本号
docker pull ubuntu:latest 拉取最新的镜像可以省略 :latest
docker pull ubuntu:20.04 拉取指定版本,拉取 ubuntu
的 20.04 版本
如果你想查看某个镜像的所有可用标签,可以访问Docker Hub上的该镜像页面。例如,访问 Ubuntu镜像页面 可以查看所有可用的标签和版本。
docker rmi IMAGE_ID
docker rmi $(docker images -q)
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
示例
运行一个ubuntu
镜像并进入交互式终端:
docker run -it ubuntu /bin/bash
主要选项(OPTIONS)
-i
(交互式)和-t
(伪终端)选项,使容器能够交互。-p 8080:80
。-v /host/path:/container/path
。示例命令
运行并进入交互式终端:
docker run -it ubuntu /bin/bash
以守护进程模式运行一个容器:
docker run -d --name mycontainer ubuntu sleep 1000
后台守护进程主要用户后台长期运行的服务,比如mysql等,如果容器中运行的程序结束,那么容器也会结束运行.所以后台启动docker容器适合运行长期后台运行的服务.
运行一个带端口映射的容器:
docker run -d -p 8080:80 nginx
命令将主机(服务器)的8080端口映射到容器的80端口。具体来说,这意味着:-d
:以守护进程模式(后台)运行容器。-p 8080:80
:将主机的8080端口映射到容器的80端口。主机上的任何访问8080端口的请求都会被转发到容器的80端口。
这样,主机上的http://localhost:8080
或 http://YOUR_HOST_IP:8080
将被转发到容器中的Nginx服务器的80端口。
挂载主机目录到容器:
docker run -d -v /host/data:/data myimage
docker ps -a
docker ps会列出正在运行的程序加上 -a会列出所有容器
docker stop CONTAINER_ID
docker start CONTAINER_ID
docker start
命令在后台守护模式启动容器,不提供交互式终端,要进入容器的交互式终端,可以使用 docker exec -it CONTAINER_ID /bin/bash 参考下面的第 6条
docker rm CONTAINER_ID
docker rm删除容器docker rmi 删除镜像,后面的i就是镜像image缩写
docker exec -it CONTAINER_ID /bin/bash
docker logs CONTAINER_ID
docker restart CONTAINER_ID
docker stats CONTAINER_ID
docker inspect CONTAINER_ID
docker stop $(docker ps -q)
docker rm $(docker ps -a -q)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。