(二)docker的部署安装,配置,基础命令

摘要:
1847[OK]javaJavaisaconcurrent,class-based,andobjec…1721[OK]openjdkOpenJDKisanopen-sourceimplementationof…967[OK]ghostGhostisafreeandopensourcebloggingpla…760[OK]anapsix/alpine-javaOracleJava8(and7)withGLIBC2.23overA…311[OK]jettyJettyprovidesaWebserverandjavax.servle…245[OK]couchdbCouchDBisadatabasethatusesJSONfordoc…205[OK]tomeeApacheTomEEisanall-ApacheJavaEEcertif…51[OK]ibmjavaOfficialIBMSDK,JavaTechnologyEdition…47[OK]groovyApacheGroovyisamulti-facetedlanguagefo…41[OK]lwieske/java-8OracleJava8Container-Full+Slim-Base…38[OK]cloudbees/jnlp-slave-with-java-build-toolsExtendscloudbees/java-build-toolsdockerim…18[OK]zabbix/zabbix-java-gatewayZabbixJavaGateway12[OK]davidcaste/alpine-java-unlimited-jceOracleJava8(and7)withGLIBC2.21overA…9[OK]frekele/javadockerrun--rm--namejavafrekele/java9[OK]blacklabelops/javaJavaBaseImages.8[OK]fabric8/s2i-javaS2IBuilderImageforplainJavaapplications5rightctrl/javaOracleJava2[OK]jorgemoralespou/s2i-javaOpenShift'sJavaS2IBuilderimage.Suitable…

一、docker 的安装部署

这里不过多介绍,下面这两个linux发型版 安装可以参考

ubuntu的 docker-ce安装

centos7的 docker-ce安装

二.docker配置文件

重要参数解释:

OPTIONS 用来控制Docker Daemon进程参数
-H 表示Docker Daemon绑定的地址, -H=unix:///var/run/docker.sock -H=tcp://0.0.0.0:2375
--registry-mirror表示Docker Registry的镜像地址--registry-mirror=http://4bc5abeb.m.daocloud.io
--insecure-registry表示(本地)私有Docker Registry的地址, --insecure-registry ${pivateRegistyHost}:5000
--selinux-enabled是否开启SELinux,默认开启 --selinux-enabled=true
--bip 表示网桥docker0使用指定CIDR网络地址,--bip=172.17.42.1
-b 表示采用已经创建好的网桥, -b=xxx
重要参数解释:
OPTIONS=-H=unix:///var/run/docker.sock -H=tcp://0.0.0.0:2375 --registrymirror=http://4bc5abeb.m.daocloud.io
--selinux-enabled=true
下面是代理的设置
http_proxy=xxxxx:8080
https_proxy=xxxxxx:8080

三.Docker基础命令

docker search 搜索的相关镜像按热度排名 列表展示

[root@docker ~]# docker search java
NAME                                         DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
node                                         Node.js is a JavaScript-based platform for s…   5594[OK]                
tomcat                                       Apache Tomcat is an open source implementati…   1847[OK]                
java                                         Java is a concurrent, class-based, and objec…   1721[OK]                
openjdk                                      OpenJDK is an open-source implementation of …   967[OK]                
ghost                                        Ghost is a free and open source blogging pla…   760[OK]                
anapsix/alpine-java                          Oracle Java 8 (and 7) with GLIBC 2.23 over A…   311[OK]
jetty                                        Jetty provides a Web server and javax.servle…   245[OK]                
couchdb                                      CouchDB is a database that uses JSON for doc…   205[OK]                
tomee                                        Apache TomEE is an all-Apache Java EE certif…   51[OK]                
ibmjava                                      Official IBM® SDK, Java™ Technology Edition …   47[OK]                
groovy                                       Apache Groovy is a multi-faceted language fo…   41[OK]                
lwieske/java-8                               Oracle Java 8 Container - Full + Slim - Base…   38[OK]
cloudbees/jnlp-slave-with-java-build-tools   Extends cloudbees/java-build-tools docker im…   18[OK]
zabbix/zabbix-java-gateway                   Zabbix Java Gateway                             12[OK]
davidcaste/alpine-java-unlimited-jce         Oracle Java 8 (and 7) with GLIBC 2.21 over A…   9[OK]
frekele/java                                 docker run --rm --name java frekele/java        9[OK]
blacklabelops/java                           Java Base Images.                               8[OK]
fabric8/s2i-java                             S2I Builder Image for plain Java applications   5
rightctrl/java                               Oracle Java                                     2[OK]
jorgemoralespou/s2i-java                     OpenShift's Java S2I Builder image. Suitable…   2                                       [OK]
appuio/s2i-maven-java                        S2I Builder with Maven and Java                 1[OK]
cfje/java-buildpack                          Java Buildpack CI Image                         0
cfje/java-test-applications                  Java Test Applications CI Image                 0
thingswise/java-docker                       Java + dcd                                      0[OK]
appuio/s2i-gradle-java                       S2I Builder with Gradle and Java                0                                       [OK]

docker pull 从镜像站拉取镜像 tag:latest 标签为 最新

[root@docker ~]# docker pull java
Using default tag: latest
latest: Pulling from library/java
5040bd298390: Pull complete 
fce5728aad85: Pull complete 
76610ec20bf5: Pull complete 
60170fec2151: Pull complete 
e98f73de8f0d: Pull complete 
11f7af24ed9c: Pull complete 
49e2d6393f32: Pull complete 
bb9cdec9c7f3: Pull complete 
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:latest

docker images

[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              e38bc07ac18e        6 weeks ago         1.85kB
hello-world         latest              e38bc07ac18e        6 weeks ago         1.85kB
java                latest              d23bdf5b1b1b        16 months ago       643MB

docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG...]

docker run后面追加-d=true或者-d,那么容器将会运行在后台模式。
docker exec来进入到到该容器中,或者attach重新连接容器的会话
[root@docker ~]# docker run -it java java -version 
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2~bpo8+1-b14)
OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode)
[root@docker ~]# docker run -it java uname
Linux
[root@docker ~]# docker run -it java ps
   PID TTY          TIME CMD
     1 pts/0    00:00:00 ps
决定容器的运行方式,前台执行还是后台执行
进行交互式操作(例如Shell脚本),那我们必须使用-i -t参数同容器进行数据交互
docker run时没有指定--name,那么deamon会自动生成一个随机字符串UUID
Docker时有自动化的需求,你可以将containerID输出到指定的文件中(PIDfile): --cidfile="" --cidfile=""
Docker的容器是没有特权的,例如不能在容器中再启动一个容器。这是因为默认情况下容器是不能访问任何其它设 备的。但是通过"privileged",容器就拥有了访问任何其它设备的权限。

容器生命周期相关指令
docker create/start/stop/pause/unpause

[root@docker ~]# docker create -it --name="myjava"java java version
872e0e5104d1a137e96621c50a6a9e948073e6ba3ce4ee9bcdbf35e1e0326d20
[root@docker ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                          PORTS               NAMES
872e0e5104d1        java                "java version"      11seconds ago       Created                                             myjava
3eafb4d18f10        java                "ip addr"           About a minute ago   Exited (0) About a minute ago                       elegant_ardinghelli
a01bb5aa8180        java                "ipaddr"About a minute ago   Created                                             wizardly_leavitt
b6c29c6751cf        java                "ps"                4 minutes ago        Exited (0) 4minutes ago                            competent_varahamihira
70f07df484aa        java                "uname"             4 minutes ago        Exited (0) 4minutes ago                            sharp_keller
1e569804e429        java                "java -version"     4 minutes ago        Exited (0) 4minutes ago                            kind_bell
934143e28fa2        hello-world         "/hello"            2 hours ago          Exited (0) 2hours ago                              competent_khorana
48563e0fd4ca        hello-world         "/hello"            3 hours ago          Exited (0) 3 hours ago                              wonderful_albattani
[root@docker ~]# docker start myjava
myjava
[root@docker ~]# docker create --name mysqlsrv1 -e MYSQL_ROOT_PASSWORD=123 -p 3306:3306mysql  
251bdc0842d93a6c957a283aecb65740813653300000e4d6aca8aeac9ca28333

[root@docker ~]# docker start mysqlsrv1
mysqlsrv1

[root@docker ~]# docker ps |grep mysql
251bdc0842d9 mysql "docker-entrypoint.s…" About a minute ago Up 29 seconds 0.0.0.0:3306->3306/tcp mysqlsrv1

[root@docker ~]# netstat -lntup|grep 3306
tcp6 0 0 :::3306 :::* LISTEN 41446/docker-proxy

[root@docker ~]# docker exec -it mysqlsrv1 /bin/bash
root@251bdc0842d9:/# mysql -uroot -p123456 -h10.0.0.7

mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 9
Server version: 8.0.11 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql>

docker stop 命令

[root@docker ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
251bdc0842d9        mysql               "docker-entrypoint.s…"   5 minutes ago       Up 5 minutes        0.0.0.0:3306->3306/tcp   mysqlsrv1
[root@docker ~]# docker stop 251bdc0842d9
251bdc0842d9
[root@docker ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

docker rm命令

[root@docker ~]# docker ps -a|grephello
934143e28fa2        hello-world         "/hello"                 2 hours ago         Exited (0) 2hours ago                          competent_khorana
48563e0fd4ca        hello-world         "/hello"                 3 hours ago         Exited (0) 3hours ago                          wonderful_albattani
[root@docker ~]# docker rm934143e28fa2
934143e28fa2
[root@docker ~]# docker rm48563e0fd4ca
48563e0fd4ca
[root@docker ~]# docker ps -a|grep hello
[root@docker ~]#

免责声明:文章转载自《(二)docker的部署安装,配置,基础命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Django解除端口占用Oracle学习(11):PLSQL程序设计下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

青蛙学Linux—MySQL安装和初始化

1、安装MySQL 这里我们选择MySQL的源码包进行安装,MySQL版本5.7,安装路径为/usr/local/mysql,数据存储路径为/db/mysql,日志文件路径/usr/local/mysql/logs,运行MySQL的用户和组为mysql。 1.1、创建mysql用户 mysql用户用于运行MySQL,不能使用shell,为虚拟用户: [ro...

Linux 搭建 Jenkins

环境准备 安装JDK 安装 JDK 之前写过一篇文章,本文就不具体讲了: Linux 安装 JDK 注意:Java版本不能是gcj,会导致Jenkins有问题,centos7搭建jenkins小记文章中提到的java版本问题导致CentOS下的Jenkins有问题。 安装Git yum install git 规避磁盘过满问题 1.方法1:创建软连接,准...

Docker 介绍安装

简介: Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。...

【转】Samba配置文件详解

一、 客户命令: 1. smbclient smbclient 命令用来存取远程 samba 服务器上的资源,它的界面到目前为止还是文本方式的,命令形式和 ftp 类似。 smbclient 命令的语法是: smbclient <servicename> [password] [options] 其中 servicename 是要连接的资源名称...

Android实现系统ROOT, 并能赋予app root权限

1.获取root权限-->修改adb源码a.打开system/core/adb/adb_main.cpp,或者是system/core/adb/daemon/main.cpp(这跟你的目录结构有关,可以用grep搜索一下关键字should_drop_privileges)b.找到should_drop_privileges函数,修改让其直接retur...

设计模式14---设计模式之命令模式(Command)(行为型)

1.场景模拟 请用软件模拟开机过程 按下启动按钮 然后电源供电 主板开始加电自检 BIOS依次寻找其他设备的BIOS并且让他们初始化自检 开始检测CPU,内存,光盘,硬盘,光驱,串口,并口,软驱即插即用设备 进入系统引导 上面的过程可以抽象为如下: 客户端只是想要发出命令或者请求,不关心请求的真正接受者是谁,也不关心具体如何实现,而且同一个请求的动作可以有...