docker容器的使用随笔

2019/10/24, docker 19.03.4

摘要:docker容器常用命令整理
gitbooks文档

docker配置

CentOS修改docker源,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn/"
  ]
}

修改完成后重新载入以及重启:

sudo systemctl daemon-reload
sudo systemctl restart docker

镜像操作

拉取nginx镜像:docker pull nginx

列出镜像:docker image ls

删除镜像:docker image rm 501 501是要删除镜像的IMAGE ID前三位

镜像导出,导出nginx镜像到当前目录nginx.tar中:

docker save nginx > nginx.tar

镜像导入,导入当前目录中的nginx.tar:

docker load < nginx.tar

容器操作

列出运行中的容器:docker psdocker container ls

列出所有容器,包括停止的:docker ps -adocker container ls -a

停止所有容器:docker stop $(docker ps -q)

删除所有容器:docker rm $(docker ps -aq)docker container prune

进入运行中的容器,当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符:

docker exec -it 9bc bash

Dockerfile

镜像构建时,安装其他工具,案例:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.0
#安装ffmpeg工具(替换了阿里源,然后再安装)
RUN sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list \
    && rm -Rf /var/lib/apt/lists/* \
    && apt-get update \
    && apt-get install -y ffmpeg

WORKDIR /app
COPY ./publish/ /app 
#默认就是80端口,如果要别的端口,代码中要明确指定监听端口号
EXPOSE 80
ENTRYPOINT ["dotnet","WebMvc.dll"]

与Dockerfile同一目录下,构建hdmsweb镜像,hdmsweb是自己命名的镜像名称,注意hdmsweb与.之间有个空格:

docker build -t hdmsweb .

docker-compose

docker-compose启动容器,-d是后台运行:

docker-compose up -d

docker-compose查看日志:

docker-compose logs

你可能感兴趣的:(docker容器的使用随笔)