1.安装docker环境
我是基于Ubuntu虚拟机安装docker的,但是第一步就先安装了curl命令
apt-get purge libcurl4 apt-get install curl curl
1.1准备好curl以后,使用官方安装脚本开始安装docker啦
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
1.2提示:安装过程可能会慢一些,等一下就好。安装完成之后,输入
docker --version
查看docker的版本信息
1.3Docker镜像加速
因为默认是从DockerHub上拉取镜像,所以速度比较慢。这里可以配置镜像加速器。当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
Ubuntu16.04+、Debian8+、CentOS7
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
国内加速服务器:
- 科大镜像:https://docker.mirrors.ustc.edu.cn/
- 网易:https://hub-mirror.c.163.com/
…
加速器决定着拉取镜像的速度
{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"]} systemctl daemon-reload systemctl restart docker
检查加速器是否生效
检查加速器是否生效配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行 docker info,如果从结果中看到了如下内容,说明配置成功。
#docker info ..... Registry Mirrors: https://reg-mirror.qiniu.com
2.拉取镜像,运行容器
2.1 拉取ubuntu的镜像,运行hello world
会去检查本地是否有ubuntu的镜像,没有的话会去docker hub上拉取镜像;
建立交互的容器
#先拉取镜像 docker pull ubuntu/... docker run ubuntu:15.10 /bin/echo "Hello world" docker -itd --name ubuntu-test ubuntu /bin/bash
- /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
- -d 默认不会进入容器,在后台运行
- -name 给容器起一个名字
2.2运行/暂停容器
docker ps -a docker stop #id docker start #id
- 查看容器运行情况
- 停止容器
- 运行容器
注意:可以在运行容器的时候指定容器的网段和IP地址,视情况而定
https://www.cnblogs.com/brock0624/p/9795208.html
2.3进入/退出容器
docker attach 7d6 docker exec -it 7d6 /bin/bash #推荐使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
3.导出和导入容器
docker export 1e560fca3906 > ubuntu.tar
4.将容器封装成镜像
Tips:这里涉及到要有requirements.txt
https://blog.csdn.net/baidu_19473529/article/details/104014263
如何为项目生成一个隔离环境
https://www.diandian100.cn/c9c15d88.html https://www.jianshu.com/p/5e8884155bf0 https://www.cnblogs.com/gaowengang/p/7750496.html https://www.cnblogs.com/hszstudypy/p/11511228.html 该博主大佬文章值得研究
- 自己基于命令生成隔离环境测试
3. 退出隔离环境直接输入 deactivate 即可
4. 如果要创建一个Python3的虚拟环境,可以明确指定Python3。
virtualenv -p python3 --no-site-packages pve3
实验记录
- 目前在ubuntu的环境当中
- 代码在这个目录下
问题:
了解Docker网络分配,因为每次进去容器的ip会变化,代码里的IP和实际IP不匹配,导致访问失败。
Docker的网络通信机制:
- 当Docker启动的时候,会自动在宿主机上创建以恶搞虚拟网桥,实际上是bridge,可以理解是软件交换机。
- 但是当容器过多的话,会对网桥造成访问压力
docker inspect 查看启动容器的相关信息,比如IP
在一个容器内去访问另一个容器:
-v共享文件操作链接
详细讲解了共享文件的命令行
https://blog.csdn.net/magerguo/article/details/72514813?utm_term=docker%E6%8A%8A%E7%9B%AE%E5%BD%95%E6%98%A0%E5%B0%84%E5%88%B0%E6%9C%AC%E5%9C%B0&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-0-72514813&spm=3001.4430
阮一峰大佬博客
http://www.ruanyifeng.com/blog/2018/02/docker-wordpress-tutorial.html
一个python项目部署到docker的全过程:
https://blog.csdn.net/u013282737/article/details/85233408?utm_term=docker%E5%AE%B9%E5%99%A8%E8%BF%90%E8%A1%8Cpython%E6%96%87%E4%BB%B6&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-3-85233408&spm=3001.4430 系统学习:里面有Docker的持续集成 之前实习也接触过 https://www.cnblogs.com/zhizihuakai/p/11518897.html
原文链接:https://blog.csdn.net/qq_37119462/article/details/115219407?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168994567416800192286954%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=168994567416800192286954&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-10-115219407-null-null.268%5Ev1%5Ekoosearch&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81