- 运行名为centos的容器并且在里面执行/bin/echo "Hello world"命令
docker run centos /bin/echo "Hello world"
- 搜索容器库 查询镜像 docker search centos
docker@default:~$ docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 4852 [OK]
ansible/centos7-ansible Ansible on Centos7 118 [OK]
jdeathe/centos-ssh CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x... 99 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC sessi... 65 [OK]
imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 47 [OK]
tutum/centos Simple CentOS docker image with SSH access 43
centos/mysql-57-centos7 MySQL 5.7 SQL database server 39
gluster/gluster-centos Official GlusterFS Image [ CentOS-7 + Glu... 36 [OK]
openshift/base-centos7 A Centos7 derived base image for Source-To... 35
centos/postgresql-96-centos7 PostgreSQL is an advanced Object-Relationa... 32
centos/python-35-centos7 Platform for building and running Python 3... 31
kinogmt/centos-ssh CentOS with SSH 22 [OK]
- 从网上拉去镜像 docker pull centos
- 查看正在运行的容器 docker ps
- -a 查看本地所有容器
- 运行名为centos的容器并且在里面执行/bin/echo "Hello world"命令 docker run -i -t ubuntu:15.10 /bin/bash
< -i -t,让docker运行的容器实现"对话"的能力>
- -i, --interactive 保持容器里面的中断输出状态
- -t, --tty 获取一个伪终端
- -p 端口映射 例如 -p 0.0.0.0:81:80 即将容器内部的80端口映射到本地 ip 0.0.0.0的81端口
- –name 给容器命名
- -P 随机映射端口
- -h 指定终端 hostname
- -v 将本地镜像挂载倒容器 -v /local:/local
docker run -i -t ubuntu:15.10 /bin/bash
root@7ad7d67bbac8:/#
各个参数解析:
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互
- 参看某容器个的端口映射情况 docker port 7ad7d67bbac8
80/tcp -> 0.0.0.0:81
- docker logs命令,查看容器内的标准输出 docker logs 7ad7d67bbac8
docker logs 7ad7d67bbac8
- 停止容器运行 docker stop 7ad7d67bbac8
docker stop 7ad7d67bbac8
- 删除容器 docker rm 7ad7d67bbac8
- 删除镜像 docker rmi centos
- 查看本地镜像 docker images
- 将本地容器保存为镜像 docker commit -m=“我的开发环境镜像” -a=“lee” 7ad7d67bbac8 dev/centos:v1
-
-m:提交的描述信息
-
-a:指定镜像作者
-
7ad7d67bbac8:容器ID
-
dev/centos:v1:指定要创建的目标镜像名
- 使用 docker tag 命令,为镜像添加一个新的标签
docker tag 7ad7d67bbac8 dev/centos:v2
14 将容器导出成tar包 docker export -o Test.tar 【容器ID】
- -o, --output string Write to a file, instead of STDOUT
15.将容器导出的tar包导入成镜像 cat Test.tar | docker import - Test:latest
16. 后台运行某容器并执行自定义脚本my_custom.sh
- docker run -p 192.168.1.115:6000:22 -p 192.168.1.220:6001:80 -d 【镜像ID】 sh /home/my_custom.sh
17.镜像导出 与 导入
- 镜像导出 docker save centos -o /home/mycentos.tar
- 镜像导入 docker load -i /home/mycentos.tar
- tar包导出命名尽量规范 例如 docker save docker.io/ubuntu:latest -o docker_io_ubuntu_latest.tar
. : / 用_代替 - -i, –input string Read from tar archive file, instead of STDIN
从tar归档文件读取镜像,而不是标准输入流往往是从tar 包里读取镜像
- tar包导出命名尽量规范 例如 docker save docker.io/ubuntu:latest -o docker_io_ubuntu_latest.tar
- 压缩导出镜像
docker save docker.io/ubuntu:latest | gzip > docker_io_ubuntu_latest.tgz
- 解压导入镜像
docker load < docker_io_ubuntu_latest.tgz
- 进入已启动的容器
- docker exec -ti 7ad7d67bbac8 /bin/bash
- docker attach 7ad7d67bbac8