Docker安装与常用命令

一.什么是容器

容器是打包代码及其所有依赖项的标准软件单元,因此应用程序从一个计算环境快速可靠地运行到另一个计算环境。Docker 容器映像是一个轻量级、独立、可执行的软件包,其中包含运行应用程序所需的一切:代码、运行时、系统工具、系统库和设置。

容器映像在运行时成为容器,而对于 Docker 容器,当映像在 Docker 引擎上运行时,它们就会成为容器。容器化软件可用于基于 Linux 和 Windows 的应用程序,无论基础结构如何,它们都将始终以相同的方式运行。容器将软件与其环境隔离开来,并确保它能够统一工作,尽管存在开发和暂存之间的差异。

在 Docker 引擎上运行的 Docker 容器:

  • 标准:Docker 为容器创建了行业标准,因此它们可以在任何地方移植
  • 轻:容器共享机器的操作系统系统内核,因此不需要每个应用程序一个操作系统,从而提高了服务器效率并降低了服务器和许可成本
  • 安全:应用程序在容器中更安全,Docker 提供了业界最强大的默认隔离功能

二.安装docker

1.卸载旧版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.安装

yum install -y yum-utils

更换阿里云yum源

yum-config-manager  --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache fast    //可选

安装docker引擎

yum install docker-ce docker-ce-cli containerd.io

启动docker

systemctl start docker

通过运行映像验证 Docker 引擎是否已正确安装 。

docker run hello-world

重启docker

sudo systemctl restart docker

3.阿里云镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://ac4vktyj.mirror.aliyuncs.com"]    //这里换成自己的镜像加速地址
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

三.卸载

yum remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

四.docker常用命令

1.镜像命令

1

查看Docker上已经安装的镜像

docker images

2

搜索Docker hub上面的镜像

docker search tomcat

3

下载镜像

docker pull tomcat[:version]
docker pull tomcat:8.----

4.

查看Docker上已经安装的镜像

docker images -a
docker images -q

5.

删除镜像

# 以删除tomcat为例
docker rmi tomcat[:version]
# 通过镜像ID删除
docker rmi -f 镜像ID
# 通过镜像ID删除多个
docker rmi -f 镜像名1:TAG 镜像名2:TAG 
# 删除全部
# docker images -qa : 获取所有镜像ID
docker rmi -f $(docker images -qa)

6.

查看docker镜像所用空间

dockder system df

2.容器命令

1.启动容器

docker run [options] image [command] [arg...]

1,1常用参数

-d: 后台运行容器,并返回容器ID

-i: 以交互式运行容器,通常与-t同时使用

-p: 端口映射,格式为 主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与-i同时使用

--name="name": 为容器指定一个名称

--dns 8.8.8.8: 为容器指定一个dns服务器,默认与宿主一致

--dns-search domain:为容器指定一个DNS域名,默认与宿主一致

-h "hostname": 指定容器的hostname

-e arg="value": 设置环境变量

-env-file=[]:从指定文件读入环境变量

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定的cpu运行

-m: 设置容器使用内存最大值

--net="bridge": 指定容器的网络连接类型,支持bridge/host/none/container四种类型

--link=[]:添加链接到另外一个容器

--expose=[]:开放一个端口或一组端口,宿主机使用随机端口映射到开放的端口

2.查看正在运行的Docker 容器

docker ps

2.1常用参数

# 显示所有容器,包括当前没有运行的容器
-a
# 显示最近创建的容器
-l
# 显示最近创建的N个容器
-n
# 静默模式,只显示容器ID
-q
# 不截断输出
--no-trunc

3.退出容器

# 退出并停止
exit
# 容器不停止退出
ctrl+P+Q

4.启动容器

docker start 容器ID或容器name

5.重启容器

docker restart 容器ID或容器name

6.停止容器

docker stop 容器ID或容器name

7.强制停止容器

docker kill 容器ID或容器name

8.删除容器

# 删除已经停止的容器
docker rm 容器ID或容器name 
# 强制删除已经停止或正在运行的容器
docker rm -f  容器ID或容器name 
#一次性删除所有正在运行的容器
docker rm -f $(docker ps -qa)

9.重新进入退出的容器

docker exec -it 容器id /bin/bash   #退出容器但不停止容器的时候

10.从容器拷贝文件到宿主机

docker cp 容器ID或容器名称:/文件路径与文件名 宿主机地址

3.日志命令

docker logs -f -t --tail 10 容器ID或容器名称
# 加入时间戳
-t
# 跟随最新的日志打印
-f
# 输出最后几行的日志
--tail 行数

其他

docker top ID  #查看容器内运行进程
docker inspect 容器ID #查看容器的内部细节
posted @ 2022-02-05 19:52  被动  阅读(57)  评论(0)    收藏  举报