下载镜像
docker pull mysql
从dockerpull社区下载镜像
docker pull dl.dockerpoll.com:5000/ubuntu
创建一个容器运行bash应用
docker run -t i ubuntu /bin/bash
列出本地镜像
docker images
保存镜像
docker commit fc1dfgt5d23423d3 sshd:ubuntu
给镜像添加一个ubuntu:lastest标签
docker tag al.dockerpool.com:5000/ubuntu:lastest ubuntu:lastest
查看镜像的详细信息
docker inspect 5506de2b43b
搜索镜像
docker search mysql
删除镜像
docker rmi dl:dockerpool.com:5000/ubuntu
根据标签删除镜像
docker rmi mysql:lastest
强制删除镜像
docker rmi -f ubuntu
列出本地上存在的所有容器
docker ps -a
删除容器
docker rm e81(e81是docker ps -a 里的container id)
基于已有的镜像创建容器
docker run -ti ubuntu:14.04 /biu/bash
上传镜像:在docukerhun网站注册后可上传,不过要求输入账号密码
docker tag test:lastest user/test:lastest
docker push user/test:lastest
==============================================================
启动一个bash 终端,允许用户进行交互,添加-d参数在后台运行容器
docker run -t i ubuntu:14.04 /bin/bash
获取容器输出的信息
docker log
终止一个运行中的容器
docker stop ce5
强行中止运行中的窗口(SIGKILL信号)
docker kill ce5
启动终止的容器
docker start ce5
进入容器操作(得先docker start 容器id)
docker attach 容器名
或者:
docker exec -ti 容器id /bin/bash
或者用nsenter工具
停止容器
docker stop 容器id
删除一个运行中的容器
docker rm -f ce5
导入和导出容器(见书上或者百度)
导入:docker export ce5 >test_for_run.tar
到处:cat test_for_run.tar | sudo docker import - test/ubuntu:v1.0
===========创建和使用docker仓库(见书或百度)=========================
=======数据卷===================================
指定挂载一个本地已有目录到容器中去作为数据卷(-v参数)
sudu docker run -d -P --name web -v /src/web:app:/opt/webapp training/webapp python app.py
创建一个数据卷容器dbdata,并在其中创建一个数据卷挂载 到/dbdata
docker run -ti -v /dbdata --name dbdata ubuntu
docker run --it --volumes-from dbdata --name db1 ubuntu
备份数据卷和恢复数据卷见资料
======网络基础配置=============================
-p指定端口
-P随机端口
把本地的5000端口映射到容器的80
docker run -d -p 5000:80 training/webapp python python.py
查看端口映射配置
docker port docker-name 5000
使用--name标记为容器自定义命名
docker run -d -P web training/webapp python python.py
容器互联见资料
======使用dockerfile创建镜像(见资料)========================
======创建ssh镜像===========================================
先下载ubuntu容器
(这个能下载)docker pull daocloud.io/library/ubuntu:trusty-20160802
docker pull daocloud.io/library/ubuntu
docker pull daocloud.io/library/centos
docker pull ubuntu 这个有时候好用
首先,来创建一个容器(ubuntu)
docker run -ti ubuntu:14.04 /bin/bash
修改root密码
echo 'root:123456' | chpasswd
这里有个问题就是把vi编辑器换成vim需要执行以下操作
一.执行命令 sudo apt-get remove vim-common
二.执行命令 sudo apt-get install vim
如果apt-get安装不了得先更新apt-get update才好用apt-get upgrade
然后在容器中安装ssh服务
apt-get install openssh-server
配置软件源
apt-get update
也可以把软件源替换为163的
在容器内创建/etc/apt/sources.list.d/163.list
vi /etc/apt/sources.list.d/163.list
添加下列内容到文件中
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
之后重新执行apt-get update就可以
要正常启动SSH服务,需要/var/run/sshd存在,手动创建它,并启动服务
mkdir -p /var/run/sshd
/usr/sbin/sshd -D &
此时查看容器的22端口,已经处于监听状态
netstat -tunlp
修改SSH服务的安全登录配置,取消pam登录限制
sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd
(有时候上面那个好用,有时候下面这个好用)发现容器立即关闭了连接,原因是容器的ssh使用了pam_loginuid.so模块,我们把它关掉:
sed -i '/^session\s\+required\s\+pam_loginuid.so/s/^/#/' /etc/pam.d/sshd
上述命令的意思是:在/etc/pam.d/sshd文件里注释掉"session required pam_loginuid.so"这一行。
在root用户目录下创建.ssh目录,并复制需要登录的公钥信息
(一般为本地主机用户目录下的.ssh/id_rsa.pub文件,可由ssh-keygen -t rsa命令生成,
在远端客户端机器(即,非容器机器)执行命令 ssh-keygen -t rsa 生成rsa的公私密钥对,然后把公钥的信息拷贝到运行ubuntu容器机器的授权文件中:
mkdir /root/.ssh
vi /root/.ssh/authorized_keys # 粘贴客户端的公钥信息)
到authorized_keys 文件中
ssh-keygen -t rsa
然后把里面的内容,按照上面的操作
mkdir root/.ssh
vi /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCz0J91r/bHbMSrBHi7DSU6UIANO8fag6wjUZ0bdCKgijK2APOPftT+J8HVlubda+1EWeAy5m99oudT7Ubi0Bg68uYbM+iyK7ecE99VQEEAndcbIELNmY8EkrSGT+w0xF6j+1JM5P/GCHjzZgEjUwemZjxhhN3K3GM9Mz50t6QLDnfDuBqaPw6RqL4f4+YFGiYKxuOQdzo/97iZoCNut6+RFf6z4qr6ao6ZXeH2qel52F4IjJJ90uaI1j81sFclPE1ZP3Rg7q1vlbBpxEv0fLyeZu7hdxH7GPgIYtwJSsPBJiymAVs1kTbeBF+4ZV8RFuuRMrCASllxj4R7hfYrisJp root@iZ25xepzd49Z
创建自动启动ssh服务的可执行文件run.sh,并添加可执行权限
vi /run.sh
chmod +x run.sh
run.sh脚本内容如下
#!/bin/bash
/usr/sbin/sshd -D
最后,退出容器
exit
使用docker commit来保存成新的sshd:ubuntu镜像
docker commit fc1 sshd:ubuntu
使用镜像
docker run -p 10022:22 -d sshd:ubuntu /run.sh
启动成功后,查看容器的详细信息
docker ps
这时可以连接容器了
ssh 192.168.1.200 -p 10022
============
修改root密码
passwd root
========下面来一段自己测试成功的sshd登录==============
下载ubuntu镜像
生成容器,进入容器
apt-get update
apt-get install openssh-server
apt-get install vim
service ssh start
vi /etc/ssh/sshd_config
PermitRootLogin yes"-->保存,修改成功。
service ssh restart
然后外网就能连接成功
docker pull mysql
从dockerpull社区下载镜像
docker pull dl.dockerpoll.com:5000/ubuntu
创建一个容器运行bash应用
docker run -t i ubuntu /bin/bash
列出本地镜像
docker images
保存镜像
docker commit fc1dfgt5d23423d3 sshd:ubuntu
给镜像添加一个ubuntu:lastest标签
docker tag al.dockerpool.com:5000/ubuntu:lastest ubuntu:lastest
查看镜像的详细信息
docker inspect 5506de2b43b
搜索镜像
docker search mysql
删除镜像
docker rmi dl:dockerpool.com:5000/ubuntu
根据标签删除镜像
docker rmi mysql:lastest
强制删除镜像
docker rmi -f ubuntu
列出本地上存在的所有容器
docker ps -a
删除容器
docker rm e81(e81是docker ps -a 里的container id)
基于已有的镜像创建容器
docker run -ti ubuntu:14.04 /biu/bash
上传镜像:在docukerhun网站注册后可上传,不过要求输入账号密码
docker tag test:lastest user/test:lastest
docker push user/test:lastest
==============================================================
启动一个bash 终端,允许用户进行交互,添加-d参数在后台运行容器
docker run -t i ubuntu:14.04 /bin/bash
获取容器输出的信息
docker log
终止一个运行中的容器
docker stop ce5
强行中止运行中的窗口(SIGKILL信号)
docker kill ce5
启动终止的容器
docker start ce5
进入容器操作(得先docker start 容器id)
docker attach 容器名
或者:
docker exec -ti 容器id /bin/bash
或者用nsenter工具
停止容器
docker stop 容器id
删除一个运行中的容器
docker rm -f ce5
导入和导出容器(见书上或者百度)
导入:docker export ce5 >test_for_run.tar
到处:cat test_for_run.tar | sudo docker import - test/ubuntu:v1.0
===========创建和使用docker仓库(见书或百度)=========================
=======数据卷===================================
指定挂载一个本地已有目录到容器中去作为数据卷(-v参数)
sudu docker run -d -P --name web -v /src/web:app:/opt/webapp training/webapp python app.py
创建一个数据卷容器dbdata,并在其中创建一个数据卷挂载 到/dbdata
docker run -ti -v /dbdata --name dbdata ubuntu
docker run --it --volumes-from dbdata --name db1 ubuntu
备份数据卷和恢复数据卷见资料
======网络基础配置=============================
-p指定端口
-P随机端口
把本地的5000端口映射到容器的80
docker run -d -p 5000:80 training/webapp python python.py
查看端口映射配置
docker port docker-name 5000
使用--name标记为容器自定义命名
docker run -d -P web training/webapp python python.py
容器互联见资料
======使用dockerfile创建镜像(见资料)========================
======创建ssh镜像===========================================
先下载ubuntu容器
(这个能下载)docker pull daocloud.io/library/ubuntu:trusty-20160802
docker pull daocloud.io/library/ubuntu
docker pull daocloud.io/library/centos
docker pull ubuntu 这个有时候好用
首先,来创建一个容器(ubuntu)
docker run -ti ubuntu:14.04 /bin/bash
修改root密码
echo 'root:123456' | chpasswd
这里有个问题就是把vi编辑器换成vim需要执行以下操作
一.执行命令 sudo apt-get remove vim-common
二.执行命令 sudo apt-get install vim
如果apt-get安装不了得先更新apt-get update才好用apt-get upgrade
然后在容器中安装ssh服务
apt-get install openssh-server
配置软件源
apt-get update
也可以把软件源替换为163的
在容器内创建/etc/apt/sources.list.d/163.list
vi /etc/apt/sources.list.d/163.list
添加下列内容到文件中
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
之后重新执行apt-get update就可以
要正常启动SSH服务,需要/var/run/sshd存在,手动创建它,并启动服务
mkdir -p /var/run/sshd
/usr/sbin/sshd -D &
此时查看容器的22端口,已经处于监听状态
netstat -tunlp
修改SSH服务的安全登录配置,取消pam登录限制
sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd
(有时候上面那个好用,有时候下面这个好用)发现容器立即关闭了连接,原因是容器的ssh使用了pam_loginuid.so模块,我们把它关掉:
sed -i '/^session\s\+required\s\+pam_loginuid.so/s/^/#/' /etc/pam.d/sshd
上述命令的意思是:在/etc/pam.d/sshd文件里注释掉"session required pam_loginuid.so"这一行。
在root用户目录下创建.ssh目录,并复制需要登录的公钥信息
(一般为本地主机用户目录下的.ssh/id_rsa.pub文件,可由ssh-keygen -t rsa命令生成,
在远端客户端机器(即,非容器机器)执行命令 ssh-keygen -t rsa 生成rsa的公私密钥对,然后把公钥的信息拷贝到运行ubuntu容器机器的授权文件中:
mkdir /root/.ssh
vi /root/.ssh/authorized_keys # 粘贴客户端的公钥信息)
到authorized_keys 文件中
ssh-keygen -t rsa
然后把里面的内容,按照上面的操作
mkdir root/.ssh
vi /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCz0J91r/bHbMSrBHi7DSU6UIANO8fag6wjUZ0bdCKgijK2APOPftT+J8HVlubda+1EWeAy5m99oudT7Ubi0Bg68uYbM+iyK7ecE99VQEEAndcbIELNmY8EkrSGT+w0xF6j+1JM5P/GCHjzZgEjUwemZjxhhN3K3GM9Mz50t6QLDnfDuBqaPw6RqL4f4+YFGiYKxuOQdzo/97iZoCNut6+RFf6z4qr6ao6ZXeH2qel52F4IjJJ90uaI1j81sFclPE1ZP3Rg7q1vlbBpxEv0fLyeZu7hdxH7GPgIYtwJSsPBJiymAVs1kTbeBF+4ZV8RFuuRMrCASllxj4R7hfYrisJp root@iZ25xepzd49Z
创建自动启动ssh服务的可执行文件run.sh,并添加可执行权限
vi /run.sh
chmod +x run.sh
run.sh脚本内容如下
#!/bin/bash
/usr/sbin/sshd -D
最后,退出容器
exit
使用docker commit来保存成新的sshd:ubuntu镜像
docker commit fc1 sshd:ubuntu
使用镜像
docker run -p 10022:22 -d sshd:ubuntu /run.sh
启动成功后,查看容器的详细信息
docker ps
这时可以连接容器了
ssh 192.168.1.200 -p 10022
============
修改root密码
passwd root
========下面来一段自己测试成功的sshd登录==============
下载ubuntu镜像
生成容器,进入容器
apt-get update
apt-get install openssh-server
apt-get install vim
service ssh start
vi /etc/ssh/sshd_config
PermitRootLogin yes"-->保存,修改成功。
service ssh restart
然后外网就能连接成功