
简单地可以理解为,从docker hub上获取镜像文件,然后创建一个基于镜像的容器,其中镜像文件可以为应用程序,可以为数据库,中间件,当然也可以为操作系统
docker命令列表
[ohsdba@ovm ~]$ docker Usage: docker [OPTIONS] COMMAND [arg...] docker [ --help | -v | --version ] A self-sufficient runtime for containers. Options: --config=~/.docker Location of client config files -D, --debug Enable debug mode -H, --host=[] Daemon socket(s) to connect to -h, --help Print usage -l, --log-level=info Set the logging level --tls Use TLS; implied by --tlsverify --tlscacert=~/.docker/ca.pem Trust certs signed only by this CA --tlscert=~/.docker/cert.pem Path to TLS certificate file --tlskey=~/.docker/key.pem Path to TLS key file --tlsverify Use TLS and verify the remote -v, --version Print version information and quit Commands: attach Attach to a running container build Build an image from a Dockerfile commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes on a container's filesystem events Get real time events from the server exec Run a command in a running container export Export a container's filesystem as a tar archive history Show the history of an image images List images import Import the contents from a tarball to create a filesystem image info Display system-wide information inspect Return low-level information on a container, image or task kill Kill one or more running container load Load an image from a tar archive or STDIN login Log in to a Docker registry. logout Log out from a Docker registry. logs Fetch the logs of a container network Manage Docker networks node Manage Docker Swarm nodes pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container ps List containers pull Pull an image or a repository from a registry push Push an image or a repository to a registry rename Rename a container restart Restart a container rm Remove one or more containers rmi Remove one or more images run Run a command in a new container save Save one or more images to a tar archive (streamed to STDOUT by default) search Search the Docker Hub for images service Manage Docker services start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers swarm Manage Docker Swarm tag Tag an image into a repository top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers version Show the Docker version information volume Manage Docker volumes wait Block until a container stops, then print its exit code Run 'docker COMMAND --help' for more information on a command. [ohsdba@ovm ~]$
docker命令分类
容器相关操作docker create # 创建一个容器但是不启动它
docker run # 创建并启动一个容器
docker stop # 停止容器运行,发送信号SIGTERM
docker start # 启动一个停止状态的容器
docker restart # 重启一个容器
docker rm # 删除一个容器
docker kill # 发送信号给容器,默认SIGKILL
docker attach # 连接(进入)到一个正在运行的容器
docker wait # 阻塞到一个容器,直到容器停止运行
获取容器相关信息
docker ps # 显示状态为运行(Up)的容器
docker ps -a # 显示所有容器,包括运行中(Up)的和退出的(Exited)
docker inspect # 深入容器内部获取容器所有信息
docker logs # 查看容器的日志(stdout/stderr)
docker events # 得到docker服务器的实时的事件
docker port # 显示容器的端口映射
docker top # 显示容器的进程信息
docker diff # 显示容器文件系统的前后变化
导出容器
docker cp # 从容器里向外拷贝文件或目录
docker export # 将容器整个文件系统导出为一个tar包,不带layers、tag等信息
执行
docker exec # 在容器里执行一个命令,可以执行bash进入交互式
镜像操作
docker images # 显示本地所有的镜像列表
docker import # 从一个tar包创建一个镜像,往往和export结合使用
docker build # 使用Dockerfile创建镜像(推荐)
docker commit # 从容器创建镜像
docker rmi # 删除一个镜像
docker load # 从一个tar包创建一个镜像,和save配合使用
docker save # 将一个镜像保存为一个tar包,带layers和tag信息
docker history # 显示生成一个镜像的历史命令
docker tag # 为镜像起一个别名
镜像仓库(registry)操作
docker login # 登录到一个registry
docker search # 从registry仓库搜索镜像
docker pull # 从仓库下载镜像到本地
docker push # 将一个镜像push到registry仓库中
获取Container IP地址(Container状态必须是Up)
docker inspect id | grep IPAddress | cut -d '"' -f 4
获取端口映射
docker inspect -f '{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' id
获取环境变量
docker exec container_id env
Dockerfile
Dockerfile是docker构建镜像的基础,也是docker区别于其他容器的重要特征,正是有了Dockerfile,docker的自动化和可移植性才成为可能。
一步步地部署自己定制的Docker Images
获取oraclelinux镜像[ohsdba@ovm ~]$ docker pull oraclelinux:6 6: Pulling from library/oraclelinux 25ffe460c306: Pull complete Digest: sha256:60cef09d6f787ab528050f0cf9133094b5dfaad4c596b010951debbc0881d08f Status: Downloaded newer image for oraclelinux:6 [ohsdba@ovm ~]$ [ohsdba@ovm ~]$ docker pull mysql/mysql-server Using default tag: latest latest: Pulling from mysql/mysql-server 10ec637c060c: Pull complete 22caa4e2bf29: Pull complete 91fa2b4da208: Pull complete 698e38e28dfb: Pull complete Digest: sha256:d0fed24f72475f7f6f6c27c55f3ef4be05946a277cc00519a14d772d3154f14b Status: Downloaded newer image for mysql/mysql-server:latest [ohsdba@ovm ~]$查看镜像
[ohsdba@ovm ~]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql/mysql-server latest 43d4a6c26521 14 hours ago 369.1 MB oraclelinux 6 175adfa05e40 10 weeks ago 223.1 MB [ohsdba@ovm ~]$运行容器
-i 交互式运行
-d 后台运行
[ohsdba@ovm ~]$ docker run -i -t --name guest oraclelinux:6 /bin/bash [root@4001fefe9b7a /]# ls bin boot dev etc home lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var [root@4001fefe9b7a /]#查看容器
[ohsdba@ovm ~]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4001fefe9b7a oraclelinux:6 "/bin/bash" 9 minutes ago Up 9 minutes guest [ohsdba@ovm ~]$在容器guest上使用yum在安装httpd和perl
[root@4001fefe9b7a ~]# yum install -y httpd perl && yum clean all Loaded plugins: ovl, security, ulninfo Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package httpd.x86_64 0:2.2.15-54.0.1.el6_8 will be installed --> Processing Dependency: httpd-tools = 2.2.15-54.0.1.el6_8 for package: httpd-2.2.15-54.0.1.el6_8.x86_64 --> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-54.0.1.el6_8.x86_64 --> Processing Dependency: /etc/mime.types for package: httpd-2.2.15-54.0.1.el6_8.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-54.0.1.el6_8.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-54.0.1.el6_8.x86_64 ---> Package perl.x86_64 4:5.10.1-141.el6_7.1 will be installed --> Processing Dependency: perl-libs = 4:5.10.1-141.el6_7.1 for package: 4:perl-5.10.1-141.el6_7.1.x86_64 --> Processing Dependency: perl-libs for package: 4:perl-5.10.1-141.el6_7.1.x86_64 --> Processing Dependency: perl(Module::Pluggable) for package: 4:perl-5.10.1-141.el6_7.1.x86_64 --> Processing Dependency: perl(version) for package: 4:perl-5.10.1-141.el6_7.1.x86_64 --> Processing Dependency: perl(Pod::Simple) for package: 4:perl-5.10.1-141.el6_7.1.x86_64 --> Processing Dependency: libperl.so()(64bit) for package: 4:perl-5.10.1-141.el6_7.1.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed ---> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed ---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed ---> Package httpd-tools.x86_64 0:2.2.15-54.0.1.el6_8 will be installed ---> Package mailcap.noarch 0:2.1.31-2.el6 will be installed ---> Package perl-Module-Pluggable.x86_64 1:3.90-141.el6_7.1 will be installed ---> Package perl-Pod-Simple.x86_64 1:3.13-141.el6_7.1 will be installed --> Processing Dependency: perl(Pod::Escapes) >= 1.04 for package: 1:perl-Pod-Simple-3.13-141.el6_7.1.x86_64 ---> Package perl-libs.x86_64 4:5.10.1-141.el6_7.1 will be installed ---> Package perl-version.x86_64 3:0.77-141.el6_7.1 will be installed --> Running transaction check ---> Package perl-Pod-Escapes.x86_64 1:1.04-141.el6_7.1 will be installed --> Finished Dependency Resolution Installed: httpd.x86_64 0:2.2.15-54.0.1.el6_8 perl.x86_64 4:5.10.1-141.el6_7.1 Dependency Installed: apr.x86_64 0:1.3.9-5.el6_2 apr-util.x86_64 0:1.3.9-3.el6_0.1 apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 httpd-tools.x86_64 0:2.2.15-54.0.1.el6_8 mailcap.noarch 0:2.1.31-2.el6 perl-Module-Pluggable.x86_64 1:3.90-141.el6_7.1 perl-Pod-Escapes.x86_64 1:1.04-141.el6_7.1 perl-Pod-Simple.x86_64 1:3.13-141.el6_7.1 perl-libs.x86_64 4:5.10.1-141.el6_7.1 perl-version.x86_64 3:0.77-141.el6_7.1 Complete! Loaded plugins: ovl, security, ulninfo Cleaning repos: public_ol6_UEKR4 public_ol6_latest Cleaning up Everything [root@4001fefe9b7a ~]# [root@4001fefe9b7a ~]# rpm -qa|egrep 'http|perl' httpd-tools-2.2.15-54.0.1.el6_8.x86_64 perl-Module-Pluggable-3.90-141.el6_7.1.x86_64 perl-libs-5.10.1-141.el6_7.1.x86_64 perl-5.10.1-141.el6_7.1.x86_64 httpd-2.2.15-54.0.1.el6_8.x86_64 perl-Pod-Escapes-1.04-141.el6_7.1.x86_64 perl-version-0.77-141.el6_7.1.x86_64 perl-Pod-Simple-3.13-141.el6_7.1.x86_64 [root@4001fefe9b7a ~]#创建web测试文件
[root@4001fefe9b7a ~]# echo "This is for ohsdba testing" > /var/www/html/index.html [root@4001fefe9b7a ~]# cat /var/www/html/index.html This is for ohsdba testing [root@4001fefe9b7a ~]#程序安装完毕,退出容器
[root@4001fefe9b7a ~]# exit exit [ohsdba@ovm ~]$创建自己定制的镜像
[ohsdba@ovm ~]$ docker commit -m "OEL6-httpd" `docker ps -l -q` ohsdba/httpd:v1 sha256:599786dd5c7cb9e2c5fef40b6a4adcecaab377b39cf49dd043a1ccb444c49a13 [ohsdba@ovm ~]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ohsdba/httpd v1 599786dd5c7c 6 seconds ago 223.1 MB mysql/mysql-server latest 43d4a6c26521 15 hours ago 369.1 MB oraclelinux latest 3d62999fc909 6 days ago 219.5 MB oraclelinux 6 175adfa05e40 10 weeks ago 223.1 MB [ohsdba@ovm ~]$容器guest任务完成,可以删除了
[ohsdba@ovm ~]$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4001fefe9b7a oraclelinux:6 "/bin/bash" 48 minutes ago Exited (0) 16 minutes ago guest [ohsdba@ovm ~]$ [ohsdba@ovm ~]$ docker rm guest guest [ohsdba@ovm ~]$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [ohsdba@ovm ~]$运行定制的Docker image ohsdba/httpd
[ohsdba@ovm ~]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ohsdba/httpd v1 599786dd5c7c 16 minutes ago 223.1 MB mysql/mysql-server latest 43d4a6c26521 15 hours ago 369.1 MB oraclelinux latest 3d62999fc909 6 days ago 219.5 MB oraclelinux 6 175adfa05e40 10 weeks ago 223.1 MB [ohsdba@ovm ~]$
docker run -d --name ohs1 -p 8080:80 ohsdba/httpd:v1 /usr/sbin/httpd -D FOREGROUND docker run -d --name ohs2 -p 8081:80 ohsdba/httpd:v1 /usr/sbin/httpd -D FOREGROUND docker run -d --name ohs3 -p 8082:80 ohsdba/httpd:v1 /usr/sbin/httpd -D FOREGROUND [ohsdba@ovm ~]$ docker run -d --name ohs1 -p 8080:80 ohsdba/httpd:v1 /usr/sbin/httpd -D FOREGROUND d9efbebc24e70e7703b1a3a4d4f1b35a0876c142d5cfc530a92b56bae4a00518 [ohsdba@ovm ~]$ docker run -d --name ohs2 -p 8081:80 ohsdba/httpd:v1 /usr/sbin/httpd -D FOREGROUND 970176e1d659674ece9fc2dc5a89df68acb7454a62e8ca360408424a7fa0ac12 [ohsdba@ovm ~]$ [ohsdba@ovm ~]$ docker run -d --name ohs3 -p 8082:80 ohsdba/httpd:v1 /usr/sbin/httpd -D FOREGROUND da33d0878101b67380a705e956ce22795c15865fc4ad7e33df44d90d770a7921 [ohsdba@ovm ~]$ [ohsdba@ovm ~]$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES da33d0878101 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" 5 seconds ago Up 5 seconds 0.0.0.0:8082->80/tcp ohs3 970176e1d659 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" 16 seconds ago Up 15 seconds 0.0.0.0:8081->80/tcp ohs2 d9efbebc24e7 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" 29 seconds ago Up 28 seconds 0.0.0.0:8080->80/tcp ohs1 [ohsdba@ovm ~]$测试http程序
[ohsdba@ovm ~]$ curl http://ovm:8080 This is for ohsdba testing [ohsdba@ovm ~]$ curl http://ovm:8081 This is for ohsdba testing [ohsdba@ovm ~]$ curl http://ovm:8082 This is for ohsdba testing [ohsdba@ovm ~]$
Docker日常维护常用操作
搜索镜像
[ohsdba@ovm ~]$ docker search oracle NAME DESCRIPTION STARS OFFICIAL AUTOMATED wnameless/oracle-xe-11g Oracle Express 11g R2 on Ubuntu 16.04 LTS 311 [OK] oraclelinux Oracle Linux is an open-source operating s... 234 [OK] alexeiled/docker-oracle-xe-11g This is a working (hopefully) Oracle XE 11... 171 [OK] sath89/oracle-xe-11g Oracle xe 11g with database files mount su... 70 [OK] sath89/oracle-12c Oracle Standard Edition 12c Release 1 with... 58 [OK] isuper/java-oracle This repository contains all java releases... 43 [OK] oracle/oraclelinux Oracle Linux is an open-source operating s... 30 [OK] ingensi/oracle-jdk Official Oracle JDK installed on centos. 20 [OK] n3ziniuka5/ubuntu-oracle-jdk Ubuntu with Oracle JDK. Check tags for ver... 9 [OK] airdock/oracle-jdk Docker Image for Oracle Java SDK (8 and 7)... 9 [OK] oracle/openjdk Docker images containing OpenJDK Oracle Linux 9 [OK] cogniteev/oracle-java Oracle JDK 6, 7, 8, and 9 based on Ubuntu ... 8 [OK] andreptb/oracle-java Debian Jessie based image with Oracle JDK ... 7 [OK] oracle/nosql Oracle NoSQL on a Docker Image with Oracle... 4 [OK] openweb/oracle-tomcat A fork off of Official tomcat image with O... 4 [OK] flurdy/oracle-java7 Base image containing Oracle's Java 7 JDK 3 [OK] oracle/glassfish GlassFish Java EE Application Server on Or... 3 [OK] infogene/oracle Image for running Oracle Database 11g Stan... 3 [OK] davidcaste/debian-oracle-java Oracle Java 8 (and 7) over Debian Jessie 2 [OK] jtech/oracle-jdk A Docker image based on the smallest Linux... 2 [OK] kaluzki/oracle kaluzki/oracle 2 [OK] clincase/oracle clincase oracle db server image 1 [OK] jckrz/debian-oracle-jdk Vanilla Debian + Oracle JDK 1 [OK] zeerdonker/docker-oracle-java ubuntu:14.04 based oracle-java 8 build 0 [OK] expertsystems/oracle-jdk8 CentOS based base image with Oracle JDK 8 0 [OK] [ohsdba@ovm ~]$如何停止/启动容器
[ohsdba@ovm ~]$ docker stop ohs1 ohs1 [ohsdba@ovm ~]$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES da33d0878101 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" 42 minutes ago Up 42 minutes 0.0.0.0:8082->80/tcp ohs3 970176e1d659 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" 42 minutes ago Up 42 minutes 0.0.0.0:8081->80/tcp ohs2 d9efbebc24e7 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" 42 minutes ago Exited (0) 5 seconds ago ohs1 [ohsdba@ovm ~]$ docker exec -i -t ohs1 bash Error response from daemon: Container d9efbebc24e70e7703b1a3a4d4f1b35a0876c142d5cfc530a92b56bae4a00518 is not running [ohsdba@ovm ~]$ [ohsdba@ovm ~]$ docker start ohs1 ohs1 [ohsdba@ovm ~]$ [ohsdba@ovm ~]$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES da33d0878101 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" 43 minutes ago Up 43 minutes 0.0.0.0:8082->80/tcp ohs3 970176e1d659 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" 43 minutes ago Up 43 minutes 0.0.0.0:8081->80/tcp ohs2 d9efbebc24e7 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" 44 minutes ago Up 5 seconds 0.0.0.0:8080->80/tcp ohs1 [ohsdba@ovm ~]$
可通过exec可进入容器
[ohsdba@ovm ~]$ docker exec -i -t ohs1 bash [root@d9efbebc24e7 /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb1 11G 1003M 7.2G 13% / tmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sdb1 11G 1003M 7.2G 13% /etc/resolv.conf /dev/sdb1 11G 1003M 7.2G 13% /etc/hostname /dev/sdb1 11G 1003M 7.2G 13% /etc/hosts shm 64M 0 64M 0% /dev/shm tmpfs 3.9G 0 3.9G 0% /proc/kcore tmpfs 3.9G 0 3.9G 0% /proc/timer_stats tmpfs 3.9G 0 3.9G 0% /proc/sched_debug [root@d9efbebc24e7 /]#查看Docker网络
[ohsdba@ovm ~]$ ifconfig docker0 docker0 Link encap:Ethernet HWaddr 02:42:9E:82:D7:D5 inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: fe80::42:9eff:fe82:d7d5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:43617 errors:0 dropped:0 overruns:0 frame:0 TX packets:53039 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1752609 (1.6 MiB) TX bytes:167582083 (159.8 MiB) [ohsdba@ovm ~]$ [ohsdba@ovm ~]$ docker inspect -f '{{ .NetworkSettings.IPAddress }}' ohs1 ohs2 ohs3 172.17.0.2 172.17.0.3 172.17.0.4 [ohsdba@ovm ~]$查看容器中top进程
[ohsdba@ovm ~]$ docker top ohs1 UID PID PPID C STIME TTY TIME CMD root 12849 12829 0 00:21 ? 00:00:00 /usr/sbin/httpd -D FOREGROUND apache 12881 12849 0 00:21 ? 00:00:00 /usr/sbin/httpd -D FOREGROUND apache 12882 12849 0 00:21 ? 00:00:00 /usr/sbin/httpd -D FOREGROUND apache 12883 12849 0 00:21 ? 00:00:00 /usr/sbin/httpd -D FOREGROUND apache 12884 12849 0 00:21 ? 00:00:00 /usr/sbin/httpd -D FOREGROUND apache 12885 12849 0 00:21 ? 00:00:00 /usr/sbin/httpd -D FOREGROUND apache 12886 12849 0 00:21 ? 00:00:00 /usr/sbin/httpd -D FOREGROUND apache 12887 12849 0 00:21 ? 00:00:00 /usr/sbin/httpd -D FOREGROUND apache 12888 12849 0 00:21 ? 00:00:00 /usr/sbin/httpd -D FOREGROUND [ohsdba@ovm ~]容器文件系统
[ohsdba@ovm ~]$ docker exec -i -t ohs1 bash [root@970176e1d659 /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb1 11G 1003M 7.2G 13% / tmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sdb1 11G 1003M 7.2G 13% /etc/resolv.conf /dev/sdb1 11G 1003M 7.2G 13% /etc/hostname /dev/sdb1 11G 1003M 7.2G 13% /etc/hosts shm 64M 0 64M 0% /dev/shm tmpfs 3.9G 0 3.9G 0% /proc/kcore tmpfs 3.9G 0 3.9G 0% /proc/timer_stats tmpfs 3.9G 0 3.9G 0% /proc/sched_debug [root@970176e1d659 /]#备份image文件
[ohsdba@ovm ~]$ docker save -o ohsdbaweb.tar ohsdba/httpd:v1 [ohsdba@ovm ~]$ ls -l ohsdbaweb.tar -rw-------. 1 ohsdba ohsdba 284207616 Oct 5 00:37 ohsdbaweb.tar [ohsdba@ovm ~]$复制文件到其他机器上快速地部署
[ohsdba@oracle ~]$docker load -i ohsdbaweb.tar [ohsdba@oracle ~]
删除容器
[ohsdba@ovm ~]$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES da33d0878101 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" About an hour ago Up About an hour 0.0.0.0:8082->80/tcp ohs3 970176e1d659 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" About an hour ago Up About an hour 0.0.0.0:8081->80/tcp ohs2 d9efbebc24e7 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" About an hour ago Up About an hour 0.0.0.0:8080->80/tcp ohs1 [ohsdba@ovm ~]$ docker stop ohs1 ohs1 [ohsdba@ovm ~]$ docker rm ohs1 ohs1 [ohsdba@ovm ~]$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES da33d0878101 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" About an hour ago Up About an hour 0.0.0.0:8082->80/tcp ohs3 970176e1d659 ohsdba/httpd:v1 "/usr/sbin/httpd -D F" About an hour ago Up About an hour 0.0.0.0:8081->80/tcp ohs2 [ohsdba@ovm ~]$
删除image
[ohsdba@ovm ~]$ docker rmi ohsdba/httpd:v1 Untagged: ohsdba/httpd:v1 Deleted: sha256:599786dd5c7cb9e2c5fef40b6a4adcecaab377b39cf49dd043a1ccb444c49a13 Deleted: sha256:3095c626f0038fb9ea56ef005c6b303e963c04604d9d3355165b5c7183b1a302 [ohsdba@ovm ~]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql/mysql-server latest 43d4a6c26521 15 hours ago 369.1 MB oraclelinux latest 3d62999fc909 6 days ago 219.5 MB oraclelinux 6 175adfa05e40 10 weeks ago 223.1 MB [ohsdba@ovm ~]$
发布image
[ohsdba@ovm ~]$ docker push ohsdba/httpd The push refers to a repository [docker.io/ohsdba/httpd] 304660277c8f: Preparing 581831b47c5f: Preparing unauthorized: authentication required [ohsdba@ovm ~]$
给容器指定memory,cpu大小
[ohsdba@ovm ~]$ docker run -d --memory=256m --cpu-shares=512 --name ohs -p 8080:80 ohsdba/httpd:v2 c307c7132420a02f86b84813af8b8b1520d656269eec925b1c4e7ee377ef9c36 [ohsdba@ovm ~]$ [ohsdba@ovm ~]$ [ohsdba@ovm ~]$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c307c7132420 ohsdba/httpd:v2 "/bin/sh -c '/usr/sbi" 20 seconds ago Up 19 seconds 0.0.0.0:8080->80/tcp ohs [ohsdba@ovm ~]$ curl http://ovm:8080 This is for ohsdba testing [ohsdba@ovm ~]$
Reference
https://docs.oracle.com/cd/E52668_01/E75728/html/docker_install_upgrade.htmlhttps://community.oracle.com/docs/DOC-914969
http://www.docker.org.cn/book/docker/what-is-docker-16.html
https://blog.csphere.cn/archives/22