docker快速上手

一个轻量的虚拟机,让程序员不再纠结于环境部署,更多集中于代码编写,基础建设,开发

作用:

打包:把你软件运行所需的所有东西打包到一起

分发:把你打包好的"安装包"上传到一个镜像仓库,任何人可以拿来即用

部署:拿着"安装包"就可以一个命令运行起来你的应用,自动模拟出一模一样的运行环境

官网下载安装

添加镜像

设置Docker Engine中添加

python 复制代码
 "registry-mirrors":[
    "https://resistry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.ccs.tencentyun.com"
  ]

部署redis

参考https://hub.docker.com/_/redis

python 复制代码
docker run --name myredis -d -p 6379:6379 redis:5.0.14-alpine

--name 名称

-d 下载后立即启动

-p端口 本地端口:虚拟机端口

打开redis-cli.exe即可使用

部署爬虫项目

编写代码

hello.py

python 复制代码
import requests
html=requests.get('https://www.imooc.com/')
print(html.text)

requirements.txt

python 复制代码
requests==2.26.0

Dockerfile

python 复制代码
FROM python:3.7-alpine #基于镜像
MAINTAINER xw  
ADD ./ /code  #文件目录  虚拟机目录
WORKDIR /code #工作目录
RUN pip install -r requirements.txt #运行pip
CMD ["python","./hello.py"]  # 运行cmd操作

下载镜像

python 复制代码
docker pull python:3.7-alpine

构建自己的镜像

python 复制代码
docker build -t py37hello .

运行效果

命令运行

python 复制代码
docker run --name hello py37hello

docker远程SHH pycharm远程同步docker

下载python镜像

python 复制代码
docker pull python:3.7

运行

python 复制代码
docker run -p 8022:22 -it -d --name pycharm-py37 python:3.7

命令行输入

更新apt-get

python 复制代码
apt-get update

下载openssh-server vim

python 复制代码
apt-get install openssh-server vim
python 复制代码
vim /etc/ssh/sshd_config
将PermitRootLogin改成yes

修改管理员密码

python 复制代码
passwd root

重启服务

python 复制代码
service ssh restart

测试

pycharm配置

同步映射目录

部署目录 服务器目录

配置解释器

手动同步

目录挂载

python 复制代码
docker run --name py37 -it -d -v D:\xxxx:/tmp

D:\xxxx挂载到/tmp

docker虚拟器联通

创建网络

python 复制代码
docker network create mynet

创建虚拟机

python 复制代码
docker run -d --name redis --network mynet --network-alias redis redis:latest
python 复制代码
docker run --name mountpy --network mynet -it -d -v D:\xx:/code

两个虚拟机在同一网络

pycharm调用docker镜像解释器

发布自己的镜像包

python 复制代码
docker login -u xx
python 复制代码
docker tag xxxxx:版本 xxx/test
python 复制代码
docker push xxx/test

xxx/test 仓库名

docker-compose多容器打包

docker-compose用于把多个容器进行打包执行

python 复制代码
docker-compose up -d

docker修改镜像安装目录

python 复制代码
wsl -l -v

关闭wsl

python 复制代码
wsl --shutdown

导出

python 复制代码
wsl --export docker-desktop-data D:\docker\docker-desktop-data.tar
wsl --export docker-desktop D:\docker\docker-desktop.tar

解除注册

python 复制代码
wsl --unregister docker-desktop-data
wsl --inregister docker-desktop

注册

python 复制代码
wsl --import docker-desktop-data D:\docker\image D:\docker\docker-desktop-data.tar
wsl --import docker-desktop D:\docker\bin D:\docker\docker-desktop.tar

重启docker

再次wsl -l -v正常显示则已经迁移成功

docker网络-windows

bridge:为每一个容器分配、设置IP

host:容器使用主机IP和端口

null:关闭网络功能,不进行任何网络设置

默认容器使用bridge

查看bridge详细信息

docker inspect bridge

查看容器网络详细信息

docker inspect 容器名

相关推荐
阿星智力囊13 小时前
Thinkphp6+nginx环境报错信息不显示,接口直接报500和CORS跨域(错误的引导方向),真坑啊
运维·nginx·php·thinkphp6
观测云14 小时前
Kubernetes CRD 方式配置容器日志采集最佳实践
容器·kubernetes·日志分析
i***220714 小时前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker
大柏怎么被偷了15 小时前
【Linux】进程等待
linux·运维·服务器
云和数据.ChenGuang16 小时前
运维面试题之oracle和mysql单表最大容量
运维·mysql·oracle
酷柚易汛智推官17 小时前
Fastlane赋能移动研发:从全流程自动化到工程效能升级
运维·自动化·酷柚易汛
落798.17 小时前
Genlogin × Bright Data,一键解锁自动化采集的高成功率方案
运维·自动化·数据采集·亮数据
羑悻的小杀马特17 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
L***865317 小时前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
十六年开源服务商18 小时前
WordPress运维服务怎样提供客户服务支持
运维