linux安装Docker

2022-09-20  本文已影响0人  凯凯丶凯凯

一、安装docker

  1. 确定是CentOS7及以上版本
cat /etc/redhat-release
  1. 卸载旧版本
    https://docs.docker.com/engine/install/centos/
    yum安装gcc相关
yum -y install gcc
yum -y install gcc-c++
  1. 安装需要的软件包
yum install -y yum-utils
  1. 设置stable镜像仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 更新yum软件包索引
yum makecache fast
  1. 安装DOCKER CE
yum -y install docker-ce docker-ce-cli containerd.io
  1. 启动docker
systemctl start docker
  1. 测试
docker version
docker run hello-world
  1. 卸载
systemctl stop docker 
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

二、docker镜像相关命令

systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
systemctl enable docker
docker info
docker --help
docker 具体命令 --help
docker images

选项说明

选项 功能
-a 列出本地所有的镜像(含历史映像层)
-q 只显示镜像ID
docker search [OPTIONS] 镜像名字

选项说明

选项 功能
--limit 只列出N个镜像,默认25个
docker pull 镜像名字[:TAG]
docker system df
docker rmi  -f  镜像/ID

三、docker容器相关命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

选项说明

选项 功能
--name="容器新名字" 为容器指定一个名称
-d 后台运行容器并返回容器ID,也即启动守护式容器(后台运行)
-i 以交互模式运行容器,通常与 -t 同时使用
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-P 随机端口映射,大写P
-p 指定端口映射,小写p
-v 宿主机路径与容器内路径映射
exit

run进去容器,ctrl+p+q退出,容器不停止:

ctrl + p + q
docker start 容器ID或者容器名
docker restart 容器ID/容器名
docker stop 容器ID/容器名
docker kill 容器ID/容器名
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
docker logs 容器ID
docker top 容器ID
docker inspect 容器ID
docker exec -it 容器ID bash

是在容器中打开新的终端,并且可以启动新的进程用exit退出,不会导致容器的停止。

docker attach 容器ID

直接进入容器启动命令的终端,不会启动新的进程用exit退出,会导致容器的停止。

docker cp  容器ID:容器内路径 目的主机路径
docker export 容器ID > 文件名.tar

导出容器的内容留作为一个tar归档文件[对应import命令]

cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

四、docker常用命令

docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

五、DockerFile解析

Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。

  1. 编写Dockerfile文件

案例(创建一个微服务镜像)

FROM openjdk:8
# 作者
MAINTAINER debei
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为traffic-sso-eureka-1.0-SNAPSHOT.jar
ADD traffic-sso-eureka-1.0-SNAPSHOT.jar traffic-sso-eureka-1.0-SNAPSHOT.jar
# 运行jar包
RUN bash -c 'touch /traffic-sso-eureka-1.0-SNAPSHOT.jar'
ENTRYPOINT ["java","-jar","/traffic-sso-eureka-1.0-SNAPSHOT.jar","--spring.config.location=/home/server/config/sso-eureka.yml"]
#暴露8080端口作为微服务
EXPOSE 8080
  1. docker build命令构建镜像
docker build -t 新镜像名字:TAG .

注意,上面TAG后面有个空格,有个点

  1. docker run依镜像运行容器实例
docker run -it 新镜像名字:TAG 
DockerFile常用保留字指令
COPY src dest
COPY ["src", "dest"]
<src源路径>:源文件或者源目录
<dest目标路径>:容器内的指定路径,该路径不用事先建好,路径不存在的话,会自动创建。
虚悬镜像

仓库名、标签都是<none>的镜像,俗称dangling image
查看

docker image ls -f dangling=true

删除所有的虚悬镜像

docker image prune
上一篇 下一篇

猜你喜欢

热点阅读