拉取镜像
比如:安装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 ps
# 所有本地容器
docker ps -a
停止容器
docker stop <containerId或containerName>
启动容器
docker start <containerName>
删除容器
docker rm -f <containId>
shell进入容器
docker exec -it [--user admin] <containerId或containerName> bash