简单记录下

步骤与参考

  • 安装docker
  • docker命令
  • Dockerfile

Ubuntu安装

参考GeekZ

Docker命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 查看镜像
docker images

# 查看正在运行的容器
docker ps

# 查看所有容器
docker ps -a

# 进入容器
# /bin/bash?
# https://www.zhihu.com/question/455875972
docker exec -t test /bin/bash
# or
# attach与exec的区别?
# https://blog.csdn.net/halcyonbaby/article/details/46884605
docker attach test
# 退出容器
exit

# 停止容器
docker stop test
# or 区别是stop的退出方式比较优雅
# https://www.cnblogs.com/zhenyuyaodidiao/p/5283593.html
docker kill test
# 删除容器
docker rm test

# 运行容器
# -d 是后台运行
# -p 是端口映射
# -e 是环境变量设置
# https://www.runoob.com/docker/docker-run-command.html
docker run -d -p 8000:80 test

# 根据dockerfile构建image
# -t tag
# https://www.runoob.com/docker/docker-build-command.html
docker build -t test .

# 远程拉取镜像
docker pull mysql:latest

# login
docker login

# push本地镜像到docker hub
# eg.
# push前先修改本地tag为规范tag,即用户名/镜像名
# https://hub.docker.com/
docker tag test original04/test
docker push original04/test

Dockerfile

比如这里的项目结构是:
1 这是一个fastapi项目。

  1. 写好dockerfile参考dockerfile语法
    1
    2
    3
    4
    5
    6
    7
    8
    FROM python:3.7
    WORKDIR /home
    COPY . /home
    EXPOSE 80
    RUN pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple
    RUN pip3 config set install.trusted-host mirrors.aliyun.com
    RUN pip3 install -r requirements.txt
    CMD ["python","main.py"]
  2. 根据dockerfile build生成image
1
2
# 在dockerfile路径下运行
docker build -t test .

现在docker image就生成了。

示例:mysql

这里直接pull镜像就可以了,不用自己build。

1
docker pull mysql:latest

直接run

1
2
3
# MYSQL_ROOT_PASSWORD是设置mysql root用户的密码
# 我本地3306端口是被用了的,所以映射到了3000端口
docker run -d -p 3000:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql-latest mysql