安装docker-ce(docker-io是旧版本)
Ubuntu(逐命令复制运行即可)
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 |
# !-bash sudo apt-get update $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # ok sudo apt-key fingerprint 0EBFCD88 # pub rsa4096 2017-02-22 [SCEA] # 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 # uid [ unknown] Docker Release (CE deb) <docker@docker.com> # sub rsa4096 2017-02-22 [S] sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io |
Mac
点击以下链接下载stable版本的dmg文件。
下载完成后,拖动到Application目录:
镜像的构建和查看
1 2 3 4 5 6 7 8 |
docker images # 查看本地镜像 docker image pull ubuntu:16.04 # 从dockerhub拉取ubuntu:16.04的镜像 docker build -t flask:v2 . # 从当前目录的Dockerfile构建镜像 并命名为flask:v2 docker image rm 6a84df # 删除镜像 |
容器的运行、停止和删除
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
docker ps # 查看运行的容器 docker ps -a # 查看所有容器 包含已经停止的 docker container ls # 和docker ps一样 docker run -di -p 80:8000 -e MYSQL_ROOT_PASSWORD=123456 -v /Users/xhy/commits/flask_demo:/opt/flask flask:v2 docker run -d flask:v2 # 后台运行容器 docker run -di flask:v2 # 后台运行容器并运行bash,可以用docker attach 827e9a 来回到bash docker run -e MYSQL_ROOT_PASSWORD=123456 flask:v2 # 设置环境变量 docker run -v /home/xhy/flask_demo:/opt/flask flask:v2 # 将本地的硬盘目录挂载到容器内的/opt/flask docker run -it flask:v2 /bin/bash # 容器运行之后进入一个bash,可以用快捷键Ctrl+P+Q退出而不关闭容器 docker run -p 80:8000 flask:v2 # 将容器外的80端口映射到容器里的8000端口 docker exec -it 827e9a /bin/bash # 在容器内运行一个bash docker stop 827e9a # 停止容器 docker restart 827e9a # 重启容器 docker rm 827e9a # 删除容器 docker rm $(docker ps -a -q) # 删除所有容器 |
Dockerfile的使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# Dockerfile FROM mysql:5.7 # 以什么镜像为基础 # 安装包 注意到用-y参数来自动yes RUN apt-get update -qq && apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ software-properties-common \ python-pip \ mysql-client \ gcc \ make \ python COPY requirements.txt /opt/ # 复制文件 WORKDIR /opt/ # 切换工作路径 RUN pip install -I requirements.txt # 安装python包 EXPOSE 8000 # 打开端口 |
Docker-compose的使用
Docker-compose实际上就是把dokcer
命令的参数放在一个yml文件里。详情参考Docker Compose | 菜鸟教程
参考资料
https://www.runoob.com/docker/docker-container-connection.html