欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker入门

程序员文章站 2022-03-12 12:48:54
...

一、查看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