Docker的基本命令
查看docker基本配置
在终端中输入
docker version
搜索官方镜像仓库
docker search centos
根据镜像名称拉取镜像
- 先查看当前主机镜像列表
docker image list //查看列表
- 再拉取对应的镜像
docker pull centos
- 拉第三方镜像方法
docker pull index.tenxcloud.com/tenxcloud/httpd
- 导出镜像,先拉取本机镜像再导出
docker image list //查看列表
docker image save centos > docker-centos.tar.gz //导出
- 删除镜像,查看本机镜像列表
docker image rm centos:latest //:latest是TAG,删除centos:latest
docker image list //查看列表
- 导入镜像,查看列表
docker image load -i docker-centos.tar.gz //导入
docker image list //查看列表
- 查看镜像详细信息
docker image inspect xxxx//查看详细信息
容器的日常管理
- 容器的启动
docker run xxxxx//启动容器
- 创建容器的两部
docker create centos:latest /bin/bash //:latest是TAG 创建
docker start stupefied_nobel //启动
- 快速启动一个容器
docker run centos:latest /usr/bin/sleep 20; //快速启动
容器内的第一个进程必须一直处于运行的状态,否则这个容器,就会处于退出状态!
- 查看正在运行的容器
docker container ls
或者
docker ps
- 查看你容器想详细ip信息
docker container inspect 容器名称/id
- 停止容器
docker stop 容器名称/ id
或者
docker container kill 容器名称/id
- 进入容器的方法
docker run -it #参数:-it 可交互终端
docker run -it nginx:latest /bin/bash
- 退出容器
ctrl+p & ctrl+q
启动后进入容器的方法
- 启动一个docker
docker run -it centos:latest
ps -ef
attach进入容器,使用pts/0 ,会让所用通过此方法进如放入用户看到同样的操作。
docker attach 1bf0f43c4d2f
ps -ef
自命名启动一个容器 --name
docker attach 1bf0f43c4d2f
ps -ef
exec进入容器的方法(推荐使用)
docker exec -it clsn1 /bin/bash
重新分配一个终端
ps -ef
- 删除所有容器
docker rm -f `docker ps -a -q`
-f 强制删除
- 启动时进行端口映射
-p 参数端口映射
docker run -d -p 8888:80 nginx:latest
- 不同指定映射的方法
随机映射
docker run -P (大P)# 需要镜像支持
Docker 数据卷的管理
- 挂载的时创建卷
docker run -d -p 80:80 -v /data:/usr/share/nginx/html nginx:latest
- 容器内站点目录: /usr/share/nginx/html
- 在宿主主机写入数据,查看
echo "http://www.nmtui.com" >/data/index.html
curl 10.0.0.100
http://www.nmtui.com
- 设置共享卷,使用同一个卷启动一个新的容器
docker run -d -p 8080:80 -v /data:/usr/share/nginx/html nginx:latest
curl 10.0.0.100:8080 4 | http://www.nmtui.com
- 查看卷的列表
docker volume ls
创建卷后挂载
- 创建一个卷
docker volume create
f3b95f7bd17da220e63d4e70850b8d7fb3e20f8ad02043423a39fdd072b83521
docker volume ls
- 指定卷名
docker volume ls
- 查看卷的路径
docker volume inspect clsn
- 使用卷创建
docker run -d -p 9000:80 -v clsn:/usr/share/nginx/html nginx:latest
1434559cff996162da7ce71820ed8f5937fb7c02113bbc84e965845c219d3503# 宿主机测试
echo 'blog.nmtui.com' >/var/lib/docker/volumes/clsn/_data/index.html
curl 10.0.0.100:9000 6 | blog.nmtui.com
- 设置卷
docker run -d -P --volumes-from 079786c1e297 nginx:latest
- 查看使用端口
netstat -lntup
- 手动将容器保存为镜像
- 基于docker官方centos 6.8镜像创建
- 官方镜像列表
- https://hub.docker.com/explore/
- 基于docker官方centos 6.8镜像创建
- 启动一个centos 6.8的镜像
docker pull centos:6.8
docker run -it -p 1022:22 centos:6.8 /bin/bash
在容器种安装sshd服务,并修改系统密码
yum install openssh-server -y
echo "root:123456" |chpasswd
/etc/init.d/sshd start
- 启动完成后镜像ssh连接测试
将内容提交为镜像
docker commit brave_mcclintock centos6-ssh
- 使用新的镜像启动容器
docker run -d -p 1122:22 centos6-ssh:latest /usr/sbin/sshd -D
- 在容器中安装httpd服务
yum install httpd -y
- 编写启动脚本脚本
cat init.sh
!/bin/bash
/etc/init.d/httpd start
/usr/sbin/sshd -D
chmod +x init.sh
# 注意执行权限
- 再次提交为新的镜像
docker commit 5b8161fda2a9 centos6-httpd
- 启动镜像,做好端口映射。并在浏览器中测试访问
docker run -d -p 1222:22 -p 80:80 centos6-httpd /init.sh