PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tạo bảng trong hình ảnh docker PostgreSQL

Trong tập lệnh docker-entrypoint.sh của hình ảnh docker chính thức trong tổng số postgres được viết:

psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )

        echo
        for f in /docker-entrypoint-initdb.d/*; do
            case "$f" in
                *.sh)     echo "$0: running $f"; . "$f" ;;
                *.sql)    echo "$0: running $f"; "${psql[@]}" < "$f"; echo ;;
                *.sql.gz) echo "$0: running $f"; gunzip -c "$f" | "${psql[@]}"; echo ;;
                *)        echo "$0: ignoring $f" ;;
            esac
            echo
done

Vì vậy, mọi tệp .sql bạn muốn thực thi bên trong hình ảnh docker của bạn chỉ có thể được đặt bên trong thư mục đó. Do đó, tệp dockerfile của tôi trông giống như

FROM postgres:9.3
ENV POSTGRES_USER docker
ENV POSTGRES_PASSWORD docker
ENV POSTGRES_DB docker
ADD CreateDB.sql /docker-entrypoint-initdb.d/

Và nội dung của CreateDB.sql của tôi:

CREATE TABLE web_origins (
    client_id character varying(36) NOT NULL,
    value character varying(255)
);

Vì vậy, tôi chỉ bắt đầu vùng chứa của mình với:

docker run -d my-postgres

Để kiểm tra:

docker exec -it 6250aee43d12 bash
[email protected]:/# psql -h localhost -p 5432 -U docker -d docker
psql (9.3.13)
Type "help" for help.

docker=# \c
You are now connected to database "docker" as user "docker".
docker=# \dt
           List of relations
 Schema |    Name     | Type  | Owner
--------+-------------+-------+--------
 public | web_origins | table | docker
(1 row)

Bạn có thể tìm thấy chi tiết về mysql tại đây trong blog này .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đặt vĩnh viễn đường dẫn lược đồ Postgresql

  2. Làm cách nào để chuyển đổi tất cả các cột trong cơ sở dữ liệu của tôi thành không phân biệt chữ hoa chữ thường

  3. Làm cách nào để đặt mã hóa trong NpgsqlConnection

  4. Cygnus-NGSI sẽ không lưu dữ liệu trong PostgreSQL

  5. VBScript bị treo khi khởi chạy tệp hàng loạt với WShell.Script Run