docker入门
一、查看Docker版本信息
docker version
简介信息
docker -v
二、镜像搜索
搜索ubuntu的Docker镜像
docker search ubuntu
拉取官方最新版的ubuntu镜像:
docker pull ubuntu:latest
三、查看本地的镜像仓库
docker images
输出
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 452a96d81c30 6 days ago 79.6MB
ubuntu 15.10 9b9cb95443b5 21 months ago 137MB
四、启动容器
docker run -t -i ubuntu:15.10 /bin/echo "Hello world"
命令指定使用镜像ubuntu:15.10 来启动一个容器,并打印Hello world。
如果不指定具体的标记,则默认使用latest标记信息。
如果没有该tag镜像会自动下载。
docker run -it ubuntu /bin/bash
[email protected]:/#
-it 表示运行在交互模式,是-i -t的缩写,即-it是两个参数:-i和-t。前者表示打开并保持stdout,后者表示分配一个终端(pseudo-tty)一般这个模式就是可以启动bash,然后和容器有命令行的交互
可以看到我们终端的字头变成[email protected]:/#了,这就意味着我们的镜像已经创建了一个容器实例。现在我们可以对这个“ubuntu系统”进行操作了
使用docker镜像bestfei/ubuntu:vim以交互模式启动一个容器,并将容器命名为ubuntu-tomcat。
docker run --name 'ubuntu-tomcat' -it bestfei/ubuntu:vim
五、进入容器
docker exec -it a8188745919a sh
六、退出容器
如果使用exit,命令退出,则容器的状态处于Exit,而不是后台运行。
如果想让容器一直运行,而不是停止,可以使用快捷键 ctrl+p ctrl+q 退出,此时容器的状态为Up。
七、容器操作
1、查看容器状态
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
08376cd49ab2 ubuntu "/bin/bash" 4 minutes ago Up 4 minutes hardcore_neumann
2、启动、停止、重启容器08376cd49ab2的命令:
docker start 08376cd49ab2
docker stop 08376cd49ab2
docker restart 08376cd49ab2
3、后台启动一个容器后,如果想进入到这个容器,可以使用attach命令:
docker attach 08376cd49ab2
八、安装软件
在容器中安装vim
apt-get install vim
如果报错
E: Unable to locate package vim-gtk
则执行
apt-get update
九、容器转化为一个镜像
先退出
[email protected]:/# exit
$ docker commit -m "ubuntu with vim" -a "bestfei" c957a02b6093 bestfei/ubuntu:vim
sha256:9914ca8c5677b5e6ace6a919d3f2b7e5723ada58552784a127486b23ad0657cb
feiyongdeMacBook-Pro:test feiyong$ docker commit -m "cashalo-sit tomcat" -a "bestfei" d290e6445cd9 bestfei/tomcat:cashalo-sit
sha256:ccb5dcfd4d69e06d15b2d86f1a0ed8a60ff9f5917ad38ef7be180021320f6dc2
命令说明:
-m指定说明信息;
-a指定用户信息;
c957a02b6093代表容器的id;
bestfei/ubuntu:vim 指定目标镜像的用户名、仓库名和 tag 信息。
此时Docker中就有了我们新建的镜像bestfei/ubuntu:vim,此镜像和原有的ubuntu镜像区别在于多了个vim工具。此时我们利用新镜像创建的容器,本身就自带vim了。
十、删除容器或者镜像
如果想删除容器或者镜像,可以使用rm命令
~$ docker rm container_id
~$ docker rmi image_id
注意:删除镜像前必须先删除以此镜像为基础的容器(哪怕是已经停止的容器),否则无法删除该镜像,会报错
查看本地镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
bestfei/ubuntu vim 9914ca8c5677 18 seconds ago 179MB
ubuntu latest 452a96d81c30 6 days ago 79.6MB
ubuntu 15.10 9b9cb95443b5 21 months ago 137MB
查看本地容器
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2d55fd8aee1e bestfei/ubuntu:vim "/bin/bash" 24 seconds ago Exited (0) 8 seconds ago condescending_cray
64089102ec43 ubuntu "/bin/bash" 7 minutes ago Exited (127) 6 minutes ago upbeat_perlman
c957a02b6093 ubuntu "/bin/bash" 25 minutes ago Exited (0) 14 minutes ago angry_shirley
08376cd49ab2 ubuntu "/bin/bash" About an hour ago Exited (100) About an hour ago hardcore_neumann
b8cf00e8bccc ubuntu "/bin/echo 'Hello wo…" About an hour ago Exited (0) About an hour ago serene_kilby
0066383593bf ubuntu:15.10 "/bin/echo 'Hello wo…" 8 hours ago Exited (0) 8 hours ago practical_minsky
十一、提交到远程hub上
因为已经在Docker.app中登陆了Docker账号,所以现在直接
$ docker push bestfei/ubuntu:vim
远程下载
docker pull bestfei/ubuntu:vim