拉取镜像

比如:安装centos镜像,https://hub.docker.com/ 中搜索centos,有tag为7.9.2009的镜像

docker pull centos:7.9.2009

构建docker镜像

也可以自己定义Dockerfile来创建镜像

准备Dockerfile

比如:

FROM centos:7

LABEL maintainer="suninf <sunjiangwei@yeah.net>"

# RUN yum update && yum clean all

RUN yum update -y

RUN yum install -y sudo vim

RUN yum install -y git wget rsync

# for coturn building
RUN yum install -y gcc make redhat-rpm-config doxygen rpm-build

RUN yum install -y sqlite

RUN yum install -y mysql-devel sqlite-devel openssl-devel postgresql-devel

RUN useradd -d/home/builder -Gwheel -mN builder

RUN echo builder | passwd --stdin builder

构建镜像

假设Dockerfile在builder_centos7_dir目录下,要构建名为docker_centos7的镜像

docker build -t docker_centos7 builder_centos7_dir

查看已有的镜像列表

docker images

删除镜像

docker image rm [image]

启动docker镜像

1) 简单起见,可以直接输入命令:docker run -itd --name centos7_container_name docker_centos7

比如,上述centos7的例子

docker run -itd --name centos7 centos:7.9.2009 

2) 也可以定义一些额外的参数以及自定义命令,比如:

alias docker_run_centos7='docker run -it -v ~/workspace:/workspace -w /home/builder -p 50000:50000/udp -p 8000:8000/udp -p 60000:60000/udp -p 8080:8080 -p 8001:8001 docker_centos7'

以后启动镜像,只需要执行:docker_run_centos7

3) 还有一种常用的初始化与运行容器的方式:

初始化容器(本地目录替换)
docker run -it -v /Users/suninf/record-app:/home/admin/record-app --name record b859294764c4 bash

后续运行容器
docker start record

后续进入容器
docker exec -it record bash

查看启动的docker容器

docker ps
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ef56c80e9833        centos:7.9.2009     "/bin/bash"         5 seconds ago       Up 4 seconds                            centos7

停止容器

docker stop <containerId或containerName>

启动容器

docker start <containerName>

删除容器

docker rm -f <containId>

shell进入容器

docker exec -it [--user admin] <containerId或containerName> bash