关于docker日常操作(一)

1.docker pull miqumi/images-ubuntu16.04-0509 拉取镜像


2.docker run -v /c/Users/admin/Desktop/svnfiles/trunk:/var/www/work --name vol-svnfiles003 miqumi/images-ubuntu16.04-0509 /bin/bash 创建数据卷
(注:其中c/Users/admin/Desktop/svnfiles/trunk对应你创建的文件位置,如果文件位置不存在报错
docker: Error response from daemon: Mount denied:
The source path "C:/Users/admin/Desktop/svnfiles/trunk"
doesn't exist and is not known to Docker.
See 'docker run --help')


3.docker images 查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
miqumi/images-ubuntu16.04-0509 latest 08d945c5cc01 14 hours ago 823MB
miqumi/images-miqu-server-003 latest 7268699ff7cb 4 weeks ago 1.49GB
此时可以选择只保留一个镜像


4.docker rmi 7268699ff7cb 移除一个镜像
C:\Users\Administrator>docker rmi 7268699ff7cb
Error response from daemon: conflict: unable to delete 7268699ff7cb (must be forced) - image is being used by stopped container 16ce2fa7930d
注:移除镜像时既可用ID号7268699ff7cb也可用仓库名 miqumi/images-miqu-server-003
注:报错不能移除因为镜像里面已经包含容器,需要关闭容器再移除镜像


5.docker ps -a 查看容器


6.docker stop miqu001 关闭容器


7.docker rm miqu001 如果关闭容器无效可以选择移除容器
C:\Users\Administrator>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
(注:此时再查看容器发现容器已经不存在)


8.docker images 再次查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
miqumi/images-ubuntu16.04-0509 latest 08d945c5cc01 14 hours ago 823MB
miqumi/images-miqu-server-003 latest 7268699ff7cb 4 weeks ago 1.49GB


9.docker rmi 7268699ff7cb 移除镜像


10.docker images 再次查看镜像
C:\Users\Administrator>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
miqumi/images-ubuntu16.04-0509 latest 08d945c5cc01 14 hours ago 823MB


11.docker run -it --volumes-from vol-svnfiles003 --name umiqu0509 -p 30009:80 miqumi/images-ubuntu16.04-0509 /bin/bash 创建数据卷
加载数据卷失败并且发现容器没有创建成功
报错:C:\Users\Administrator>docker run -v E:/Gitlab_files/app_api-master:/var/www/work --name vol-svnfiles003 miqumi/images-ubuntu16.04-0509 /bin/bash
docker: Error response from daemon: An error occured while sharing drive.
See 'docker run --help'.
共享文件的时候需要输入windows用户password


12.解决之后docker run -v E:\Gitlab_files\app_api-master:/var/www/work --name vol-svnfiles003 miqumi/images-ubuntu16.04-0509 /bin/bash
注:文件路径输入必须正确


13.查看容器发现创建成功docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ca3e86e93829 miqumi/images-ubuntu16.04-0509 "/bin/bash" 12 seconds ago Exited (0) 10 seconds ago vol-svnfiles003


14.加载数据卷并从镜像中开启一个容器
docker run -it --volumes-from vol-svnfiles003 --name umiqu0509 -p 30009:80 miqumi/images-ubuntu16.04-0509 /bin/bash


15.# ls输出当前目录


16.# cd /var/www切换到指定目录


17.# cd ..退出当前目录


18.# ps -ef 用于查看当前所有的进程。
1.UID 用户ID
2.PID 进程ID
3.PPID 父进程ID
4.C CPU占用率
5.STIME 开始时间
6.TTY 开始此进程的TTY----终端设备
7.TIME 此进程运行的总时间
8.CMD 命令名


19./var 文件系统
/var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。原来 /var 目录中有些内容是在 /usr 中的,但为了保持 /usr 目录的相对稳定,就把那些需要经常改变的目录放到 /var 中了。每个系统是特定的,即不通过网络与其他计算机共享。下面列出一些重要的目录 ( 一些不太重要的目录省略了 ) 。

20.root@deb3c96dc837:/var/www# /etc/init.d/nginx start
服务器开启

21.root@deb3c96dc837:/var/www# /etc/init.d/php7.0-fpm start
php开启

22.root@deb3c96dc837:/var/www# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 02:28 pts/0 00:00:00 /bin/bash
root 38 1 0 02:30 ? 00:00:00 nginx: master process /usr/sbin/nginx
www-data 39 38 0 02:30 ? 00:00:00 nginx: worker process
www-data 40 38 0 02:30 ? 00:00:00 nginx: worker process
root 63 1 0 02:30 ? 00:00:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
www-data 64 63 0 02:30 ? 00:00:00 php-fpm: pool www
www-data 65 63 0 02:30 ? 00:00:00 php-fpm: pool www
root 66 1 0 02:30 pts/0 00:00:00 ps -ef
查看当前进程

23.root@deb3c96dc837:/var/www# ls
basic html work

24.root@deb3c96dc837:/var/www# cd work
root@deb3c96dc837:/var/www/work# ls
app common vendor yii 切换到work

 

补充:
Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume)。数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享。
数据卷呈现给Docker容器的形式就是一个目录,支持多个容器间共享,修改也不会影响镜像


Docker数据持久化:
容器在运行期间产生的数据是不会写在镜像里面的,重新用此镜像启动新的容器就会初始化镜像,会加一个全新的读写入层来保存数据。
如果想做到数据持久化,Docker提供数据卷(Data volume)或者数据容器卷来解决问题,另外还可以通过commit提交一个新的镜像来保存产生的数据。

posted @ 2018-05-10 14:13  程序媛2019  阅读(414)  评论(0编辑  收藏  举报