yum install -y docker
nsenter belongs to util-linux
docker run --name mydocker
docker inspect -f "{{ .State.Pid }}" mydocker
nsenter -t 14301 -m -u -i -n -p
[root@node1 ~]# ./docker.sh mydocker
root@ad347571682b:/# pwd
/
root@ad347571682b:/# exit
logout
[root@node1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ad347571682b docker.io/nginx "/bin/bash" 25 minutes ago Up 15 minutes 80/tcp, 443/tcp mydocker
[root@node1 ~]# cat docker.sh
#!/bin/bash
# Use nsenter to access docker
docker_in(){
NAME_ID=$1
PID=$(docker inspect -f "{{ .State.Pid }}" $NAME_ID)
nsenter -t $PID -m -u -i -n -p
}
docker_in $1
[root@node1 ~]# docker exec mydocker ps
PID TTY TIME CMD
165 ? 00:00:00 ps
[root@node1 ~]# docker exec mydocker ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 20236 1908 ? Ss+ 06:54 0:00 /bin/bash
root 173 0.0 0.0 17492 1132 ? Rs 07:12 0:00 ps aux
[root@node1 ~]# docker exec -it mydocker /bin/bash
root@ad347571682b:/# exit
exit
[root@node1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ad347571682b docker.io/nginx "/bin/bash" 28 minutes ago Up 18 minutes 80/tcp, 443/tcp mydocker
[root@node1 ~]#
docker exec and docker.sh 都能进入容器并且exit不会关闭容器
rm Remove one or more containers
rmi Remove one or more images
[root@node1 ~]# docker run --rm centos date
网络随机映射,-P随机映射,-p指定映射,多个-p可以多端口映射
docker run -d -p 192.168.3.3:81:80 --name mynginx nginx
[root@node1 ~]# docker port mynginx
80/tcp -> 192.168.3.3:81
docker ps 也能看到多个端口
[root@node1 /]# docker run -d --name nginx-volume-test1 -v /data nginx
docker run -d --name nginx-volume-test2 -v /data/docker:/data nginx
共享容器
[root@node1 /data/docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e4589cafb94 nginx "nginx -g 'daemon off" 12 minutes ago Up 12 minutes 80/tcp, 443/tcp nginx-volume-test2
6369516a1912 nginx "nginx -g 'daemon off" 15 minutes ago Up 15 minutes 80/tcp, 443/tcp nginx-volume-test1
[root@node1 /data/docker]# docker run -it --name valume-test3 --volumes-from nginx-volume-test2 centos /bin/bash
[root@node1 ~]# docker run -it --name nfsc --rm --volumes-from nfs centos /bin/bash
docker run --name mynginx -it centos
进容器,rpm -ivh epel
yum install -y nginx
/etc/nginx/nginx.conf
daemon off
[root@node1 ~]# docker commit -m "mynginx" 71d04e9e2b55 wis/nginx:v1
sha256:0e0458ff3f0d754dcbe3edb1f94e0565d728228103860c71511acd84b367d467
[root@node1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wis/nginx v1 0e0458ff3f0d 5 seconds ago 349.8 MB
[root@node1 ~]# docker run -d -p81:80 --name nginxv1 wis/nginx:v1 nginx
[root@node1 /opt/dockerfile/nginx]# cat Dockerfile
# This Dockerfile
# Base image
FROM centos
# Maintainer
MAINTAINER Wis.Wang xxx@qq.com
# Commands
RUN rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y nginx && yum clean all
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
ADD index.html /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx"]
[root@node1 /opt/dockerfile/nginx]# pwd
/opt/dockerfile/nginx
[root@node1 /opt/dockerfile/nginx]# cat index.html
DengGOD
[root@node1 /opt/dockerfile/nginx]# docker build -t mynginx:v2 .
docker run --rm --name mynginxv3 -p 82:80 mynginx:v2
centos-ssh
app
requirements.txt
python-demo.ini
[root@node1 ~/docker]# tree .
.
|-- app
| |-- shop-api
| | |-- Dockerfile
| | |-- app-supervisor.ini
| | |-- app.py
| | |-- requirements.txt
| | `-- supervisord.conf
| `-- xxx-api
|-- runtime
| |-- java
| |-- php
| |-- python
| `-- python-ssh
| `-- Dockerfile
`-- system
|-- Dockerfile
|-- a
`-- epel.repo
https://github.com/vmware/admiral/blob/master/auth/src/main/java/com/vmware/admiral/auth/AuthInitialBootService.java