安装启动好docker服务以后,尝试创建第一个docker image.
创建Dockerfile:
$ vi Dockerfile
FROM centos
RUN echo 'Hello, Docker!'
创建Image:
$ docker build -t archive.docker-registry.eecloud.net/alice/hellodocker .
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
archive.docker-registry.eecloud.net/alice/hellodocker latest 9fe20369156b 35 minutes ago 202MB
上传image到仓库:
[root@okqvd docker]# docker push archive.docker-registry.eecloud.net/alice/hellodocker
The push refers to repository [archive.docker-registry.eecloud.net/alice/hellodocker]
d69483a6face: Preparing
denied: requested access to the resource is denied
# 尝试用相同用户名登录后再上传
[root@okqvd docker]# docker login -u alice archive.docker-registry.eecloud.net
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@okqvd docker]# docker push archive.docker-registry.eecloud.net/alice/hellodocker
The push refers to repository [archive.docker-registry.eecloud.net/alice/hellodocker]
d69483a6face: Preparing
denied: requested access to the resource is denied
[root@okqvd docker]# docker build -t archive.docker-registry.eecloud.net/alice/hellodocker .
Sending build context to Docker daemon 2.048kB
Step 1/2 : FROM centos
---> 9f38484d220f
Step 2/2 : RUN echo 'Hello, Docker!'
---> Using cache
---> 9fe20369156b
Successfully built 9fe20369156b
Successfully tagged archive.docker-registry.eecloud.net/alice/hellodocker:latest
创建container:
[root@okqvd docker]# docker run -ti 9fe20369156b /bin/bash
[root@5f24685e0b54 /]#
查询container是否启动成功:
[root@okqvd docker]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5f24685e0b54 9fe20369156b "/bin/bash" 59 seconds ago Exited (0) 21 seconds ago romantic_kirch
# 尝试守护态(-d 参数)运行
[root@okqvd docker]# docker run -ti -d 9fe20369156b /bin/bash
6001a3f57428d3830c4d5b58f921d69b6cc57a9b644b850dcc39feaaa21b5ebe
[root@okqvd docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6001a3f57428 9fe20369156b "/bin/bash" 3 seconds ago Up 2 seconds hardcore_engelbart
进入container:
# 使用attach方式进入container,在退出时,会关闭当前container
[root@okqvd docker]# docker attach 6001a3f57428
[root@6001a3f57428 /]#
# 使用docker exec -it方式,在退出时,当前container仍在后台运行
[root@okqvd docker]# docker exec -it 6001a3f57428 /bin/bash
[root@6001a3f57428 /]#