删除不掉 driver=null的网络,
Error response from daemon: none is a pre-defined network and cannot be removed
好像也不算是异常,只能无视他。
2020年3月26日木曜日
Alter Oracle Table Add/Modify/Rename/Drop Columns
Oracle Table Columns 変更
カラムの追加 / ALTER TABLE ADD column(s)
表定義の最後にのみ追加可能。表の途中への挿入や列の順番の変更や入れ替えはできない。ALTER TABLE my_table ADD ( time_col TIMESTAMP(3) ) ;
カラムの定義の変更 / ALTER TABLE MODIFY column(s)
データが存在する場合、直接MODIFYは出来ない、DROPしてから、ADD
ALTER TABLE IAMGE_INFO DROP COLUMN IMAGE_DATA ALTER TABLE IMAGE_INFO ADD (IMAGE_DATA LONG RAW)
NULL 制約の設定と解除
ALTER TABLE table_name MODIFY ( char_col NULL )
ALTER TABLE my_table MODIFY ( char_col NOT NULL ) ;
デフォルト値の変更と削除
ALTER TABLE my_table MODIFY ( char_col DEFAULT 'abc' ) ;
カラムの長さ、桁数、スケール、精度の変更
ALTER TABLE my_table MODIFY ( char_col VARCHAR2(50), number_col NUMBER(14) );
テーブル名、カラム名の変更 / ALTER TABLE RENAME [column]
列名の変更
ALTER TABLE my_table RENAME COLUMN time_col TO date_col ;
列の削除 (DROP)
ALTER TABLE my_table DROP ( char_col , number_col ) -- 以下はオプションなので必須ではない CASCADE CONSTRAINT INVALIDATE; CASCADE CONSTRAINT : 列に付随する制約(主キー、ユニークキー、チェックなど)を削除する。INVALIDATE : 依存関係にあるオブジェクトに対し再帰的に無効化マーク(INVALID) を付ける。CHECKPOINT : UNDO に蓄積されるログを抑制するため、指定行数毎に チェックポイント を発生させる。
ALTER TABLE PRIMARY KEY
主キー、プライマリキー制約の追加
ALTER TABLE table_name ADD [ CONSTRAINT primary_key_name ] PRIMARY KEY (col_name, colname2 ..) ;
ADD PRIMARY KEY と USING INDEX
ALTER TABLE table_name ADD CONSTRAINT primary_key_name PRIMARY KEY (col_name, colname2 ..) USING INDEX -- インデックス作成時の属性情報 PCTFREE 10 INITRANS 2 STORAGE( INITIAL 64K ) TABLESPACE USERS ;
主キー、プライマリキー制約の削除
ALTER TABLE table_name DROP PRIMARY KEY; or ALTER TABLE table_name DROP CONSTRAINT primary_key_name ;
プライマリキーの確認をするための SQL
select c.table_name, c.constraint_name, c.status cc_status, cc.position, cc.column_name, ix.index_name, ix.uniqueness, ix.tablespace_name, ix.visibility, ix.status from user_indexes ix, user_constraints c, user_cons_columns cc where ix.table_name in ('MY_TABLE') and c.constraint_type = 'P' and ix.index_name = c.index_name and c.constraint_name = cc.constraint_name order by cc.constraint_name, cc.position;
Docker Network 運用
Docker支持3种网络形式:none,host, bridge(默认模式)。
![]() |
docker network ls #显示当前docker的默认网卡状况 |
![]() |
ip address #宿主机的网卡状态 |
- none模式
容器和宿主机之间无法网络通信。
使用场景:不明。如果无法和外部通信,容器就是个孤岛。 - host模式
容器共享宿主机的网卡,利于和外部网络通信。
使用场景:作为本宿主机上的一个服务,供宿主机之外,或外部网络机器访问。
注意事项:默认的端口可能被宿主机占用,需要分配其他端口。
如:80端口已经被宿主机的IIS占用,Docker容器内的Tomcat就无法使用80。 - bridge模式(Docker容器的默认启动模式)
安装docker后,默认会产生一张docker0的网卡,默认ip:172.17.0.1/16。
备注:/16代表16个1的子网掩码255.255.0.0。
使用场景:虚拟内部网络,内部网络间可以相互通信,模拟分布式计算。
Docker容器的IP地址确认:
- docker run 启动一个容器(比如oracle)后,通过docker exec -it containerid bash进入容器后,通过ifconfig命令,查看容器的ip, 发现以下输出
root@a837d8deb6fb:/# ifconfigeth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:02inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:16 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:1312 (1.3 KB) TX bytes:0 (0.0 B)
- 再启动一个mysql容器,然后同样docker exec -it containerid bash进入容器,
执行ifconfig
root@d5cfaf9bc203:/bin# ifconfig
bash: ifconfig: command not found这个容器内没ifconfig, 只好换一种方式:hostname -iroot@d5cfaf9bc203:/# hostname -i172.17.0.3
重新通过docker network ls 查看网络状况。发现网络状况没有变化root@linux-dxjo:~> docker network lsNETWORK ID NAME DRIVER SCOPEeced4efd22c4 bridge bridge local006540679f04 host host localbb6717ea195a none null localroot@linux-dxjo:~>
新建容器网络
- 新建bridge网络,名称为lq01.net:
root@linux-dxjo:~> docker network create -d bridge lq01.net
0317a8cd7bd67758d981470ed4d8d06dccf0e52df05ffd345a5c186a160a99a9
#查看现在的网络状况.
root@linux-dxjo:~> docker network ls
NETWORK ID NAME DRIVER SCOPE
eced4efd22c4 bridge bridge local
006540679f04 host host local
0317a8cd7bd6 lq01.net bridge local
bb6717ea195a none null local
查看网络详细
root@linux-dxjo:~> docker network inspect lq01.net
[
{
"Name": "lq01.net",
"Id": "0317a8cd7bd67758d981470ed4d8d06dccf0e52df05ffd345a5c186a160a99a9",
"Created": "2020-03-26T03:18:35.758811904-04:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
root@linux-dxjo:~> - 在新网络内执行开启镜像。即在创建容器时显式将该容器连接到该网络。
先查看所有镜像
root@linux-dxjo:~> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
postgres latest cf879a45faaa 7 weeks ago 394MB
mysql latest 791b6e40940c 7 weeks ago 465MB
martinsthiago/oraclexe-11g-fig latest 8253c6cad9fe 4 years ago 1.93GB
在新的网络内开启postgres的镜像,必须设定明确的IP,不然启动不起来。docker run --name postgres1802 -e POSTGRES_PASSWORD=mysecretpassword -d postgres --network lq01.net --ip 172.18.0.2 97aa95cebfca6eb84d1be09dbed66e7db6037de044540af3b41f1174745be121 root@linux-dxjo:~> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 97aa95cebfca postgres "docker-entrypoint.s…" 8 seconds ago Up 6 seconds 5432/tcp postgres1802 4e886ce92b11 postgres "docker-entrypoint.s…" 15 minutes ago Up 15 minutes 5432/tcp postgresdb2 a837d8deb6fb martinsthiago/oraclexe-11g-fig "/startup.sh --name …" 3 weeks ago Up About an hour 0.0.0.0:1521->1521/tcp, 0.0.0.0:8088->8080/tcp distracted_payne d5cfaf9bc203 mysql "docker-entrypoint.s…" 6 weeks ago Up About an hour 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-test root@linux-dxjo:~>
root@linux-dxjo:~> docker run -itd --name nginx02 --network LBSnet --ip 172.20.1.11 nginx:latest root@linux-dxjo:~> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a2558eac3579 nginx:latest "nginx -g 'daemon of…" 5 seconds ago Up 3 seconds 80/tcp nginx02 8c01025fcaf3 nginx:latest "nginx -g 'daemon of…" 4 minutes ago Up 4 minutes 80/tcp nginx01 4
root@linux-dxjo:~> docker run -itd --name nginx01 --network LBSnet --ip 172.20.1.10 nginx:latest
root@linux-dxjo:~> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2558eac3579 nginx:latest "nginx -g 'daemon of…" 5 seconds ago Up 3 seconds 80/tcp nginx02
root@linux-dxjo:~> docker run -itd --name nginx02 --network LBSnet --ip 172.20.1.11 nginx:latest
既存网络:lq01.net:172.18.0.1/8
创建新的网络:
docker network create -d bridge --subnet 172.20.1.0/24 --gateway 172.20.1.1 LBSnet
然后将容器链接到指定的网络。
docker network connect lq01.net nginx01
容器仅能在网络内通信,不能跨网络进行通信。
一个连接到两个网络的容器可与每个网络中的成员容器进行通信。
当一个容器连接到多个网络时,外部连接通过第一个(按词典顺序)非内部网络提供。
随笔:大字成语
- 大方無隅:地方至极,则看不到它的拐角。平面无限大。古人相信天圆地方。
- 大器晩成:器贵至极,则要长期的打磨。时间无限长。
- 大音希声:声音至极,回声無穷。无限循环。
- 大象無形:象大致及,则無具体形状。立体无限大。
OpenSUSE中的网络查看命令
参考自:
https://software.opensuse.org/package/net-tools-deprecated
size 170KB,
openSUSE Leap 15.1
https://software.opensuse.org/package/net-tools-deprecated
Deprecated Networking Utilities
This package contains the deprecated network utilities arp, ifconfig, netstat and route, which have been replaced by tools from the iproute2 package:
* arp -> ip [-r] neigh
* ifconfig -> ip a
* netstat -> ss [-r]
* route -> ip r
iproute2:
登録:
投稿 (Atom)
ITIL4 Foundation Study Guide 2 : 4 Dimensions and 6 Factors
4 Dimensions: Dimension1: Organizations & People Dimension2: Information & Technology Dimension3: Partners & Suppliers D...
-
文字列の画面表示:v-text =”msg” 又は {{msg}}、効果は同じ <div id="app01"> <div v-text ="msg"></div> <di...
-
Service Management (17 points) Understanding Value Service management is defined as a set of specialized organizational capabilities...