Skip to the content.

docker 简介

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上

docker 命令

docker pull                    #获取镜像
docker build                   #编译镜像   

docker images                  #查看所有镜像
docker ps                      #查看docker进程 
docker  ps -a                  #查看所有运行过的镜像

docker run                     #使用镜像启动一个容器
docker rmi 镜像id               #删除某个镜像
docker rm -f  容器id            #多个容器id用空格隔开

docker start 容器id             #启动某个容器
docker stop 容器id              #停止某个容器 
docker restart 容器id           #重启某个容器 
docker logs 容器id              #查看容器运行日志

用例

docker pull ubuntu:13.10  
docker run -itd --name ubuntu-test ubuntu /bin/bash
docker run -d -p 5000:5000 -v /data:/data webapp python app.py
docker exec -it 容器ID /bin/bash
docker build -t test/myapp:v1 .

Dockerfile

FROM golang:alpine
# 为我们的镜像设置必要的环境变量
ENV GO111MODULE=on \
    CGO_ENABLED=0 \
    GOOS=linux \
    GOARCH=amd64 \
	GOPROXY="https://goproxy.cn,direct"

WORKDIR /home/www/code_20220515

# 将代码复制到容器中
COPY . .
# 将我们的代码编译成二进制可执行文件  可执行文件名为 app
RUN go build -o app .

# 移动到用于存放生成的二进制文件的 /dist 目录
WORKDIR /dist

RUN cp /home/www/code_20220515/app .

# 在容器目录 /dist 创建一个目录 为static
RUN mkdir static .

# 在容器目录 把宿主机的静态资源文件 拷贝到 容器/dist/src目录下
# 这个步骤可以略  因为项目是引用到了 外部静态资源
RUN cp -r /home/www/code_20220515/static .

# 声明服务端口
EXPOSE 8080

# 启动容器时运行的命令
CMD ["/dist/app"]

#编译dockerfile

docker build -t my_web_0515:v1 .

# 运行编译好的镜像

docker run -itd -p 8080:8080 my_web_0515:v1

docker-compose.yml

version: '3.4'

services:
  code1:
    image: code1
    build:
      context: .
      dockerfile: ./dockerfile
    ports:
      - 8080:8080

# 启动并运行整个应用程序

docker-compose -f docker-compose.yml up -d

其他

docker命令大全