docker ps 列出正在运行的container
docker ps -a 列出所有的containers
docker start container_id 启动container
docker attach container_id 进入container
docker stop id 停止container
docker rm 容器名 #删除容器
docker info #查看系统相关信息
进入docker后,service ssh start开启ssh服务
https://blog.csdn.net/dreamweaverccc/article/details/89305849
https://github.com/ufoym/deepo
Docker的container里运行juypter notebook
首先是在container中安装pip,然后安装jupyter notebook
更改某些设置
#执行如下命令,会生成jupyter配置文件,会生成配置文件.jupyter/jupyter_notebook_config.py:
jupyter notebook --generate-config
#在配置文件.jupyter/jupyter_notebook_config.py中修改以下参数:
c.NotebookApp.open_brower = False “启动后是否在浏览器中自动打开”
NotebookApp.port = 8888 “指定一个访问端口,默认8888,注意和映射的docker端口相对应”
如果直接启动jupyter Notebook的话会报错
因此使用jupyter notebook --ip=0.0.0.0 --allow-root 启动notebook服务
在浏览器中输入启动该命令后得到的网址即可
拉取镜像ufyom/deepo:all-jupyter时,运行juypter notebook
创建自己远程访问的容器
(底下四个数字都需要改) (进入jupyter地址)
docker create -it --gpus all --name AEROS(改) -p 11022:22(改) -p 11088:8888(改) -p 11089:8889(改) -p 11066:6006(改) -v /media/program/ABB/AEROS/Betty:/AEROS_project ufoym/deepo:all-jupyter /bin/bash
进入容器,运行容器,更改容器密码 -docker start container_id
docker attach container_id -passwd
在容器中启动jupyter notebook
jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir=’/AEROS_project’
下载并开启ssh服务
首先更新
apt update
安装ssh服务
apt install openssh-server
更改/etc/ssh/sshd_config里的内容如下:
PubkeyAuthenticatin yes “启用公钥私钥配对方式”
AuthorizedKeyFile .ssh/authorized_keys “公钥文件路径”
PermitRootLogin yes “root能使用ssh登陆”
启动ssh服务
service ssh start
远程登陆docker
使用xshell IP是server的ip,端口号是container的端口,即host_port(11022),登录名是root,密码是container的密码
运行文件
登录以后,要运行文件的话,先cd到文件所在的目录,然后输入python 运行的文件名
远程访问jupyter
在游览器输入#ip#:11088(对应于端口映射11088:8888)
拷贝本地文件到容器
docker cp 本地路径 容器长ID:容器路径
将镜像打包成tar
docker save -o 目标文件 原镜像文件名
从tar镜像中重装入系统
docker load -i container-wxs.tar
然后重新从create创建一遍
容器基本操作
1 查看docker信息 sudo docker info
2 运行容器 sudo docker run -i -t ubuntu /bin/bash
3 在容器中可以安装软件和我们外面的linux机器一样,只是不一样的ubuntu和centos命令不一样
4 列出容器 sudo docker ps -a (-a 包括没有运行的)
5 启动容器的时候可以给容器命名 sudo docker run --name firstContainername -i -t ubuntu /bin/bash
6 停止容器 sudo docker stop firstContainername (restart)
7 附着进入容器 sudo docker attach firstContainername
8 后台运行容器 sudo docker run -d -i -t ubuntu /bin/bash
9 获取容器日志 sudo docker logs firstContainername
10 持续跟踪容器日志 sudo docker logs -f firstContainername
11 持续跟踪容器日志,并打印时间 sudo docker logs -ft firstContainername
12 可以将日志重定向到宿主机,也有一些日期驱动 sudo docker run --logs-driver=“syslog” --name firstContainername -d 使用syslog的日志驱动,关于日志驱动百度
13 查看容器内的进程 sudo docker to firstContainername
14 统计容器的内存,网络,cpu,io等的指标 sudo docker stats firstContainername
15 在后台运行的容器内执行命令 sudo docker exec -d firstContainername touch /etc/new_config_file
16 进入容器 sudo docker exec -it firstContainername /bin/bash
17 停止容易 sudo docker stop firstContainername
18 自动重启 sudo docker run --restart=always --name firstContainername -d ubuntu /bin/sh
–restart=always 无论什么情况停止都会重启,还可以加参数 --restart=on-failure:5 退出代码为非0时重启5次
19 获取容器信息 sudo docker inspect firstContainername
20 删除容器 sudo docker rm firstContainername
21 删除所有容器 sudo docker rm sudo docker ps -a -q
-a返回所有容器 -q只返回容器的id
镜像
1 列出所有镜像 sudo docker images
2 拉取镜像 sudo docker pull ubuntu 可以指定版本号,不指定为默认最新的镜像
3 查找镜像 sudo docker search ubuntu
4 注册docker账号后就可以使用 docker login命令进行登录
5 可以拉取一个centos镜像 sudo docker pull centos 然后运行 sudo docker run -it --name centosContener centos /bin/bash 进入容器安装vim yum -y install vim 退出容器 exit 提交容器 sudo docker commit -m"信息" -a “作者” centosContener 镜像用户名/仓库名:标签
6 查看镜像的信息 sudo docker inspect 镜像用户名/仓库名:标签
7 Dockerfile
FROM centos
RUN yum -y install nginx
EXPOSE 80
sudo docker build -t=“镜像用户名/仓库名:标签”
8 构建镜像时禁用缓存 sudo docker build --no-cache -t=“镜像用户名/仓库名:标签”
9 查看docker镜像的构建历史 sudo docker history centos 实例 sudo docker history zhaoqinrong/centos:test
10 查看容器端口的映射情况 sudo docker port centosContener 80 会返回映射到宿主机上的端口
11 端口绑定 sudo docker run --name firstContainername -p 80 -d zhaoqinrong/centos
sudo docker run --name firstContainername -p 8080:80 -d zhaoqinrong/centos
sudo docker run --name firstContainername -p 127.0.0.1:8080:80 -d zhaoqinrong/centos
sudo docker run --name firstContainername -p 映射ip:映射到宿主机的端口:容器端口 -d zhaoqinrong/centos
sudo docker run --name firstContainername -p -d zhaoqinrong/centos 将构建镜像中的dockerfile文件中的EXPOSE的所有端口公开,并随机绑定到宿主机的端口上
12 Dockerfile 中的CMD命令,RUN命令是在构建中,docker容器未启动时作用,而CMD是在启动后执行的命令
CMD["/bin/bash","-l"]
docker网络
1 创建一个docker网络 sudo docker network create app
2 sudo docker network inspect app 查看新建网络的信息,包含这个网络中的所有容器
3 查看当前系统中的所有网络 sudo docker network ls
4 在新创建的app网络中创建容器 sudo docker run -d --net=app --name db zhaoqinrong/centos
5 将已有容器添加到app网络 sudo docker network connect app db2
6 退出app网络 sudo docker network disconnect app db2
ubuntu安装docker
官网查找
安装deepo
来源:CSDN
作者:MorpheousMonkey
链接:https://blog.csdn.net/qq_34741466/article/details/103723260