docker 的使用

网友投稿 234 2022-10-24

docker 的使用

docker 的使用

dock安装 curl -sSL | sh docker-compose 安装 curl -L "-s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose systemctl start docker   1.显示本机的镜像列表 docker images 2. 拉取docker 镜像 从网易拉取镜像。docker pull hub.c.163.com/public/nginx:1.2.13.查看获取到镜像docker images REPOSITORY TAG IMAGE ID CREATED SIZEhello-world latest 4ab4c602aa5e 3 weeks ago 1.84kBbusybox latest e1ddd7948a1c 2 months ago 1.16MBhub.c.163.com/library/nginx latest 46102226f2fd 17 months ago 109MBhub.c.163.com/public/nginx 1.2.1 2dc68ff797db 2 years ago 171MB 4. 在后台运行docker 在后台运行镜像ID,-d 参数意思是在后台运行docker run -d 2dc68ff797db 26dc06315762402a1d05e614061bc66272c59eb230d5030076c3eb067385c64a 5.查看后台运行的docker 容器。[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES26dc06315762 2dc68ff797db "/bin/sh -c '/etc/..." 8 seconds ago Up 6 seconds 22/tcp, 80/tcp, 443/tcp yo 26dc06315762 为容器ID 6.进到容器内部 容器本身也是一个linux系统。 # docker exec -it 容器ID 需要执行的命令docker exec -it 26dc06315762 bash [root@localhost ~]# docker exec -it 26dc06315762 bashroot@26dc06315762:/# lsbin boot dev etc home lib lib64 media mnt opt proc root run sbin selinux srv sys tmp usr var root@26dc06315762:/# which nginx/usr/sbin/nginx 查看容器内的进程。root@26dc06315762:/# ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 03:05 ? 00:00:00 /bin/sh -c /etc/init.d/nginx start && /usr/sbin/sshd -Droot 9 1 0 03:05 ? 00:00:00 nginx: master process /usr/sbin/nginxroot 10 1 0 03:05 ? 00:00:00 /usr/sbin/sshd -D11 9 0 03:05 ? 00:00:00 nginx: worker process12 9 0 03:05 ? 00:00:00 nginx: worker process13 9 0 03:05 ? 00:00:00 nginx: worker process14 9 0 03:05 ? 00:00:00 nginx: worker processroot 15 0 0 03:10 pts/0 00:00:00 bashroot 23 15 0 03:13 pts/0 00:00:00 ps -ef 使用exit 命令退出容器。 --停止容器docker stop 26dc06315762 7.docker 端口映射 将容器的80 端口映射到本机的 8080 端口。docker run -d -p 8080:80 2dc68ff797db8260e229cd9dfe1d821f2033b2d690adf6ae491515c250a11b9e9a1029856d5c [root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8260e229cd9d 2dc68ff797db "/bin/sh -c '/etc/..." About a minute ago Up About a minute 22/tcp, 443/tcp, 0.0.0.0:8080->80/tcp affectionate_dubinsky [root@localhost ~]# netstat -na | grep 8080tcp6 0 0 :::8080 :::* LISTEN   docker stop 8260e229cd9dfe1d821f2033b2d690adf6ae491515c250a11b9e9a1029856d5c 8.将容器所有的端口映射到本地的随机端口[root@localhost ~]# docker run -d -P 2dc68ff797db79d98946edcd7a8d6a0e4fdb3a9b3556103b6a2cbdd484bbe253e53130989826[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES79d98946edcd 2dc68ff797db "/bin/sh -c '/etc/..." 8 seconds ago Up 7 seconds 0.0.0.0:32770->22/tcp, 0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp 大写P是将容器的所有开放端口映射成本机的随机端口。  9.volume 操作  volume 这个可以帮组我们将 宿主机器的 目录挂载到容器的目录中去,这样不会应为容器重启出现文件丢失的情况。 1.docker run -v /usr/share/nginx/-d -p 80:80 2dc68ff797db 使用参数-v 将容器的/usr/share/nginx/目录映射到宿主机的目录,具体是那个目录我们可以通过如下命令查看。 使用 docker ps 查看运行的容器ID。 使用 docker inspect 5d842062e63d 命令查看容器的信息 "Mounts": [{"Type": "volume","Name": "bcc82524af695a2984d14cb545fab3df800b3bb45bbd2e93f421b96cc77da34b","Source": "/var/lib/docker/volumes/bcc82524af695a2984d14cb545fab3df800b3bb45bbd2e93f421b96cc77da34b/_data","Destination": "/usr/share/nginx/"local","Mode": "","RW": true,"Propagation": ""}] source 表示宿主容器的目录,我们进入到此目录,修改index.html文件,重新访问容器的服务,发现index.html 被修改。 使用命令进行卷映射. 2. docker run -v $PWD:/usr/share/nginx/-d -p 80:80 2dc68ff797db 就是将宿主机的当前目录映射到 容器的/usr/share/nginx/,通过 docker inspect 容器ID访问。 "Mounts": [{"Type": "bind","Source": "/docker/tmp","Destination": "/usr/share/nginx/"","RW": true,"Propagation": "rprivate"}], 在这个 docker/tmp 目录增加index.html 文件,重新访问服务发现 访问到了 index.html 文件。  3.创建一个挂载卷容器,其他的容器使用这个卷容器进行数据共享。 docker create -v $PWD/data:/var/mydata --name data_container ubuntu 创建一个数据卷容器。 docker run -it --volumes-from data_container unbuntu /bin/bash 运行另外的容器使用 数据卷容器。 在该容器下 执行 mount 命令,可以看到 有 /var/mydata 目录挂载了,在这个目录下增加文件,可以在宿主目录看到添加的文件。     10.编写dockerfile 构建自己的web程序 下载tomcat docker pull hub.c.163.com/library/tomcat:latest 编写dockerfile Dockerfile from hub.c.163.com/library/tomcat MAINTAINER zyg 58133370@qq.com --拷贝程序到镜像目录 copy jsaas.war /usr/local/tomcat/webapps --创建目录 RUN mkdir /usr/local/tomcat/jms 编译Dockerfile docker build -t jsaas:latest . 查看编译后的文件 REPOSITORY TAG IMAGE ID CREATED SIZEjsaas latest 330e27e1d2ba 13 minutes ago 520MB 运行镜像 docker run -d -p 8080:8080 jsaas

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java实例项目零钱通的实现流程
下一篇:以太网的接口是怎样的情况
相关文章

 发表评论

暂时没有评论,来抢沙发吧~